node Cheatsheet

PM2 进程管理速查表

PM2 Node.js 进程管理常用命令一页速查:启动与重启、日志管理、集群模式、监控和生态配置文件等高频操作,含参数说明与典型排障场景。

把 PM2 最常用命令按启动、日志、集群、监控和配置分组整理,Node.js 部署运维直接复制改参数即可。

pm2node进程管理集群

启动与停止 Start & Stop

  • 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
    从进程列表删除

日志管理 Logs

  • pm2 logs
    实时查看所有日志
  • pm2 logs api --lines 100
    查看指定进程最近 100 行
  • pm2 logs api --err
    只看错误日志
  • pm2 flush
    清空所有日志文件
  • pm2 install pm2-logrotate
    安装日志轮转模块,防止日志无限增长

监控与状态 Monitor

  • pm2 list
    列出所有进程
  • pm2 show api
    查看进程详情
  • pm2 monit
    终端监控面板(CPU/内存)
  • pm2 status
    查看进程状态
  • pm2 describe api
    查看进程详细描述信息

开机自启 Startup

  • pm2 startup
    生成开机自启脚本,按提示执行输出的命令
  • pm2 save
    保存当前进程列表,开机自启时恢复
  • pm2 resurrect
    手动恢复保存的进程列表
  • pm2 unstartup
    移除开机自启

生态配置 ecosystem.config.js

  • 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"]
    文件变化自动重启

容易踩的坑

  • reload 比 restart 更平滑,集群模式下逐个重启实现零停机,单进程模式 reload 等同于 restart。
  • pm2 save + pm2 startup 组合实现开机自启,服务器重启后自动恢复所有进程。
  • 内存泄漏排查:pm2 monit 观察内存趋势,配置 max_memory_restart 自动重启兜底。