PM2 与 Node.js 服务

高频命令

pm2 list
pm2 describe nloop
pm2 logs nloop --lines 100
pm2 start ecosystem.config.js
pm2 reload nloop
pm2 restart nloop
pm2 stop nloop
pm2 delete nloop
pm2 save

NVM 与多 Node.js 版本

确认实际运行路径:

which node
node --version
which pm2
pm2 report

PM2 Daemon 继承启动它时的环境。切换 NVM 版本后,旧 Daemon 和 Startup 配置不一定自动切换。不要用 root 和普通用户分别启动两套 PM2;systemd Startup 应指向明确用户和 Node.js 路径。

安全部署检查

npm ci
npm run build
test -f dist/server.js
pm2 reload ecosystem.config.js --update-env

只有构建成功且产物验证后才 reload。确认 pm2 describe 中脚本路径、cwd、Node 解释器和环境正确,再分别 curl 内部端口和 Nginx 公网入口。

日志

PM2 日志不会自动无限安全地管理,应配置 pm2-logrotate 或系统日志策略,并监控磁盘。不要把密码、JWT 或完整请求体写入日志。