安装

  1. $ npm install pm2@latest -g
  2. # or
  3. $ yarn global add pm2

常见命令方式

查看

  1. $ pm2 list # 列出所有进程/应用
  2. $ pm2 describe [name/ID] # 查看某个进程/应用的具体情况
  3. $ pm2 monit # 查看进程/应用的资源消耗情况
  4. $ pm2 logs # 查看pm2的日志
  5. $ pm2 logs [name/ID] # 若要查看具体进程/应用的日志
  6. $ pm2 show [name/ID] # 显示进程/应用所有信息

启动

  1. $ pm2 start bin/www # 启动bin/www应用
  2. $ pm2 start app.js # 启动app.js应用并设置name
  3. $ pm2 start app.sh # 脚本启动
  4. $ pm2 start app.js --name [name] # 重命名进程/应用
  5. $ pm2 start app.js --watch # 添加进程/应用 watch,当文件发生变化,自动重启
  6. $ pm2 reload app.js # hieves a 0-second-downtime reload - 0秒停机重新加载
  7. $ pm2 gracefulReload all # 群集模式重新加载所有应用程序
  8. $ pm2 restart app.js # 启动进程/应用,同时杀死并重启所有进程。生成环境推荐使用reload

停止/结束

  1. $ pm2 stop [name/ID] # 停止应用
  2. $ pm2 stop all # 停止应用 all

删除

  1. $ pm2 delete [name/ID] # 删除进程/应用
  2. $ pm2 delete all # 删除进程 all

更新PM2

  1. $ npm install pm2@latest -g
  2. $ pm2 update

pm2.conf.json

  1. {
  2. "apps": {
  3. "name": "ws", // 应用名
  4. "script": "index.js", // 启动应用文件位置
  5. "cwd": "./", // 当前工作路径
  6. "watch": true, // 监听模式
  7. "ignore_watch": [ // 忽略不想监听的文件改动
  8. "node_modules",
  9. "logs"
  10. ],
  11. "instances": 4, // 多进程, 0 表示PM2将根据CPU的数量启动尽可能多的进程(集群模式)
  12. "error_file": "logs/err.log", // 普通输出日志文件及位置
  13. "out_file": "logs/out.log", // 错误输出日志文件及位置, pm2 install pm2-logrotate进行日志文件拆分
  14. "log_type": "json", // 日志类型
  15. "log_date_format": "YYYY-MM-DD HH:mm:ss" // 日志日期记录格式
  16. }
  17. }