Greenhats の Blog.

PM2 常用命令

2025/02/01
loading

PM2常用命令

PM2的常用命令整理,按功能分类说明:


进程管理

  1. 启动应用

    1
    2
    3
    4
    pm2 start app.js               # 启动单个应用
    pm2 start app.js --name myapp # 指定应用名称
    pm2 start ecosystem.config.js # 使用配置文件启动
    pm2 start npm -- start # 启动npm脚本
  2. 停止应用

    1
    2
    3
    pm2 stop myapp     # 停止指定应用(按名称或ID)
    pm2 stop 0 # 停止ID为0的应用
    pm2 stop all # 停止所有应用
  3. 重启应用

    1
    2
    pm2 restart myapp   # 立即重启(短暂停机)
    pm2 reload myapp # 逐步重启(零停机,生产推荐)
  4. 删除应用

    1
    2
    pm2 delete myapp    # 从PM2列表中移除应用
    pm2 delete all # 移除所有应用
  5. 列出所有进程

    1
    2
    pm2 list            # 或 pm2 ls
    pm2 status # 显示进程状态概览

日志管理

  1. 查看日志

    1
    2
    3
    pm2 logs            # 查看所有应用的实时日志
    pm2 logs myapp # 查看指定应用的日志
    pm2 logs --lines 100 # 显示最后100行日志
  2. 清空日志

    1
    pm2 flush           # 清空所有日志文件

集群模式

  1. 启用集群

    1
    2
    pm2 start app.js -i 4       # 启动4个实例
    pm2 start app.js -i max # 根据CPU核心数启动实例
  2. 调整集群规模

    1
    2
    pm2 scale myapp +2  # 增加2个实例
    pm2 scale myapp 5 # 固定为5个实例

监控与性能

  1. 资源监控

    1
    2
    pm2 monit           # 打开实时监控面板(CPU/内存)
    pm2 monitor # 类似monit,监控进程状态
  2. 查看进程详情

    1
    2
    pm2 show myapp      # 显示应用的详细信息
    pm2 describe myapp # 等同pm2 show

配置与环境变量

  1. 环境变量

    1
    2
    pm2 start app.js --env production  # 指定生产环境
    pm2 restart app --update-env # 更新环境变量(PM2 2.6+)
  2. 生成配置文件

    1
    pm2 ecosystem      # 生成示例配置文件ecosystem.config.js

系统启动 & 持久化

  1. 保存当前进程

    1
    pm2 save           # 保存当前进程列表
  2. 开机自启

    1
    2
    3
    pm2 startup        # 生成系统启动脚本
    # 根据提示执行生成的命令以启用自启
    pm2 save # 保存当前进程到开机列表

其他实用命令

  1. 更新PM2

    1
    2
    npm install pm2@latest -g  # 升级到最新版
    pm2 update # 更新PM2并保留进程
  2. 查看帮助

    1
    2
    pm2 --help                 # 显示全局帮助
    pm2 start --help # 查看start命令的详细选项
  3. 守护进程检查

    1
    pm2 ping                   # 检查PM2守护进程是否运行

配置文件示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// ecosystem.config.js
module.exports = {
apps: [{
name: "myapp",
script: "app.js",
instances: 2,
env: {
NODE_ENV: "development",
},
env_production: {
NODE_ENV: "production",
}
}]
};

启动配置:pm2 start ecosystem.config.js --env production


CATALOG
  1. 1. PM2常用命令
    1. 1.0.1. 进程管理
    2. 1.0.2. 日志管理
    3. 1.0.3. 集群模式
    4. 1.0.4. 监控与性能
    5. 1.0.5. 配置与环境变量
    6. 1.0.6. 系统启动 & 持久化
    7. 1.0.7. 其他实用命令
    8. 1.0.8. 配置文件示例