Skip to content

PM2 完整常用命令速查

说明:文档统一使用 app 代指应用名称/进程ID,可直接替换为自己的项目名或ID,所有命令开箱即用,适配全场景运维。

一、PM2 安装与版本查看

bash
# 全局安装 PM2(必须全局,系统任意目录可调用)
npm install pm2 -g

# 查看 PM2 版本(验证安装是否成功)
pm2 -v
pm2 --version

二、核心常用操作命令(标准通用)

备注:app = 应用程序名称 / 进程ID,可自定义替换

bash
# 1. 启动应用程序
pm2 start app

# 2. 停止应用程序
pm2 stop app

# 3. 重启应用程序
pm2 restart app

# 4. 监控应用程序日志(实时查看运行报错)
pm2 logs app

# 5. 监听文件变化,自动重启应用
pm2 start app --watch

# 6. 设置系统开机自启
pm2 startup

# 7. 删除指定应用进程
pm2 delete app

# 8. 查看应用详细信息
pm2 show app

三、批量 & 全局进程命令

bash
# 查看所有运行中的进程列表
pm2 list

# 停止所有应用
pm2 stop all

# 重启所有应用
pm2 restart all

# 重载所有应用(零停机更新,生产首选)
pm2 reload all

# 清空所有历史日志
pm2 flush

# 监控进程 CPU/内存资源占用
pm2 monit

# 彻底清空所有进程,关闭PM2
pm2 kill

四、生产环境开机自启完整配置

bash
# 保存当前运行的所有进程列表
pm2 save

# 生成系统开机自启服务
pm2 startup

# 取消系统开机自启
pm2 unstartup

五、自定义启动进阶用法

bash
# 自定义应用名称启动
pm2 start index.js --name 自定义app名

# 多核运行,最大化利用服务器性能
pm2 start index.js -i max

# 零停机重载更新项目(生产环境更新代码首选)
pm2 reload app

六、运维核心注意事项

  • 生产优先使用 reload:reload 实现零停机更新代码,restart 会中断用户连接,生产环境尽量少用重启。

  • 统一自定义应用名:启动项目时自定义名称,避免默认进程标识混乱,方便精准操作单个应用。

  • 服务器重启前执行 pm2 save:保存进程状态,否则服务器重启后项目无法自动恢复运行。

  • 报错优先查看日志:项目异常、接口报错时,使用 pm2 logs app 快速定位问题。

  • delete 为彻底删除进程:删除后需重新 start 才能启动,仅停用服务建议使用 stop。

七、标准生产部署流程

代码更新 → pm2 reload app 热更新生效 → pm2 logs app 校验运行正常

最近更新