PM2 Cheatsheet - Node.js Process Manager Reference
PM2 Node.js 运维最常用的命令都在这里了,按启动、日志、集群、监控和配置分组整理,部署运维直接复制改参数即可。
Back to Languages启动与停止 Start & Stop 12
pm2 start app.js启动应用
pm2 start app.js --name "api"启动并命名进程
pm2 start app.js -i max集群模式,按 CPU 核数启动
pm2 start app.js -i 4集群模式,指定 4 个进程
pm2 start ecosystem.config.js用配置文件启动(推荐)
pm2 stop all停止所有进程
pm2 stop api停止指定进程
pm2 restart api重启进程(重载代码)
pm2 reload api零停机重载(集群模式推荐)
pm2 delete api从进程列表删除
pm2 start app.js --watch监听文件变化自动重启
pm2 kill杀掉所有进程并停止 PM2 守护
日志管理 Logs 5
pm2 logs实时查看所有日志
pm2 logs api --lines 100查看指定进程最近 100 行
pm2 logs api --err只看错误日志
pm2 flush清空所有日志文件
pm2 install pm2-logrotate安装日志轮转模块,防止日志无限增长
监控与状态 Monitor 6
pm2 list列出所有进程
pm2 show api查看进程详情
pm2 monit终端监控面板(CPU/内存)
pm2 status查看进程状态
pm2 describe api查看进程详细描述信息
pm2 jlistJSON 格式输出进程列表(适合脚本)
开机自启 Startup 4
pm2 startup生成开机自启脚本,按提示执行输出的命令
pm2 save保存当前进程列表,开机自启时恢复
pm2 resurrect手动恢复保存的进程列表
pm2 unstartup移除开机自启
集群与扩展 Cluster & Scale 5
pm2 scale api +2扩容 2 个进程
pm2 scale api 8指定进程总数为 8
pm2 reset api重置进程重启计数
pm2 serve ./dist 8080静态文件目录服务
pm2 deploy ecosystem.config.js production通过配置文件部署到远程
生态配置 ecosystem.config.js 6
module.exports = { apps: [{ name: "api", script: "app.js", instances: "max", exec_mode: "cluster" }] }基础集群配置
env: { NODE_ENV: "production", PORT: 3000 }环境变量配置
max_memory_restart: "1G"内存超 1G 自动重启
error_file: "./logs/err.log", out_file: "./logs/out.log"自定义日志路径
watch: true, ignore_watch: ["node_modules", "logs"]文件变化自动重启
pm2 start ecosystem.config.js --env production指定环境启动(读取 env_production)
💡 Tips
- reload 比 restart 更平滑,集群模式下逐个重启实现零停机,单进程模式 reload 等同于 restart。
- pm2 save + pm2 startup 组合实现开机自启,服务器重启后自动恢复所有进程。
- 内存泄漏排查:pm2 monit 观察内存趋势,配置 max_memory_restart 自动重启兜底。