Skip to content

安装

bash
$ npm install pm2@latest -g
# 或者
$ yarn global add pm2

常见命令方式

查看

bash
$ pm2 list                # 列出所有进程/应用

$ pm2 describe [name/ID]  # 查看特定进程/应用的详细信息

$ pm2 monit               # 查看进程/应用的资源消耗情况

$ pm2 logs                # 查看pm2的日志

$ pm2 logs [name/ID]      # 若要查看特定进程/应用的日志

$ pm2 show [name/ID]      # 显示特定进程/应用的所有信息

启动

bash
$ pm2 start bin/www               # 启动bin/www应用
$ pm2 start app.js                # 启动app.js应用并设置名称
$ pm2 start app.sh                # 使用脚本启动应用
$ pm2 start app.js --name [name]  # 重命名进程/应用


$ pm2 start app.js --watch        # 添加进程/应用监视功能,当文件发生变化时自动重启


$ pm2 reload app.js               # 零停机时间重新加载 - 0-second-downtime reload
$ pm2 gracefulReload all          # 优雅地重新加载所有应用程序


$ pm2 restart app.js              # 启动进程/应用,并同时杀死和重启所有进程。在生产环境中推荐使用reload

停止/结束

bash
$ pm2 stop [name/ID]    # 停止特定应用
$ pm2 stop all          # 停止所有应用

删除

bash
$ pm2 delete [name/ID]    # 删除特定进程/应用
$ pm2 delete all          # 删除所有进程

更新PM2

bash
$ npm install pm2@latest -g

$ pm2 update

pm2.conf.json

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