PM2 使用手册:从安装到生产级进程管理
PM2 是 Node.js 生态中最常用的生产级进程管理器,但它的能力不止于"让 Node 脚本在后台跑起来"。本文从安装讲起,覆盖日常管理、集群、日志、监控、自启与生产部署的完整流程。 目录 安装与基础概念 启动与进程管理 ecosystem 配置文件 集群模式(Cluster Mode) 日志管理 监控与指标 开机自启 零停机重载与发布 内存与异常处理策略 常见坑与排查 速查表 安装与基础概念 # 全局安装 npm install -g pm2 # 或 pnpm pnpm add -g pm2 PM2 的核心概念只有三个: process:被 PM2 托管的一个应用实例 daemon:PM2 自身驻留后台的管理进程(~/.pm2/ 下保存状态) ecosystem file:声明式配置文件(ecosystem.config.js),推荐的生产方式 验证安装: pm2 -v pm2 ping # 检查 daemon 是否存活 启动与进程管理 启动一个应用 # 最简单的启动 pm2 start app.js # 指定进程名(强烈建议,否则默认用文件名) pm2 start app.js --name api-server # 传递 Node 参数与应用参数 pm2 start app.js --name api --node-args="--max-old-space-size=2048" -- --port 3000 # 不限于 Node:任何可执行文件都可以托管 pm2 start python --name spider -- main.py pm2 start ./worker.sh --name job 常用管理命令 pm2 list # 进程列表(别名 pm2 ls / pm2 status) pm2 describe api-server # 单个进程详情:路径、日志位置、重启次数、内存等 pm2 restart api-server # 重启 pm2 reload api-server # 优雅重载(集群模式下零停机) pm2 stop api-server # 停止(保留在列表中) pm2 delete api-server # 从 PM2 列表移除 pm2 save # 保存当前进程列表快照(供 resurrect / 自启恢复) 所有命令都可以用进程名、进程 id,或 all(全部进程)作为目标。 ...