安装
1 | npm install pm2@latest -g |
常用命令
- 基本上能使用程序
name
的地方也可以使用id
(id一般是从0开始的)
1 | pm2 start app.js # 直接启动某个项目 |
日志相关
- 默认的日志也会通过项目
package.json -> version
分开设置
1 | pm2 logs # 查看所有应用的日志,如果要监听,最好用monitor命令,看得全一点 |
设置开机启动
1 | pm2 startup [ubuntu|centos|gentoo|systemd] # 这样可以自动生成开机启动脚本 |
配置文件
- 可以以文件的方式设置配置,比如在项目根目录下放一个文件:
pm2.config.js
,运行时候只需要pm2 start pm2.config.js --env production
,如果不佳env配置就不用加--env
参数
1 | module.exports = { |
Troubleshooting
- 没有错误日志无限重启: 可能原因是运行脚本有问题,例如配置的
npm run dev
,但是程序里面的dev
脚本依赖的却是另外一个命令,但是那个命令却没有全局安装 - Current process list running is not in sync with saved list. npm differs. Type ‘pm2 save’ to synchronize: 这不是什么错误,而是提醒你讲进程保存到磁盘,这样下次服务器重启能够找到有哪些进程