node Cheatsheet
PM2 进程管理速查表
PM2 Node.js 进程管理常用命令一页速查:启动与重启、日志管理、集群模式、监控和生态配置文件等高频操作,含参数说明与典型排障场景。
把 PM2 最常用命令按启动、日志、集群、监控和配置分组整理,Node.js 部署运维直接复制改参数即可。
启动与停止 Start & Stop
- 启动应用
pm2 start app.js - 启动并命名进程
pm2 start app.js --name "api" - 集群模式,按 CPU 核数启动
pm2 start app.js -i max - 集群模式,指定 4 个进程
pm2 start app.js -i 4 - 用配置文件启动(推荐)
pm2 start ecosystem.config.js - 停止所有进程
pm2 stop all - 停止指定进程
pm2 stop api - 重启进程(重载代码)
pm2 restart api - 零停机重载(集群模式推荐)
pm2 reload api - 从进程列表删除
pm2 delete api
日志管理 Logs
- 实时查看所有日志
pm2 logs - 查看指定进程最近 100 行
pm2 logs api --lines 100 - 只看错误日志
pm2 logs api --err - 清空所有日志文件
pm2 flush - 安装日志轮转模块,防止日志无限增长
pm2 install pm2-logrotate
监控与状态 Monitor
- 列出所有进程
pm2 list - 查看进程详情
pm2 show api - 终端监控面板(CPU/内存)
pm2 monit - 查看进程状态
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 } - 内存超 1G 自动重启
max_memory_restart: "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 自动重启兜底。