DC娱乐网

Linux 下的 PM2 完整指南

PM2 是 Node.js 应用的专业级进程管理器,专为生产环境设计,提供应用守护、集群管理、日志监控等核心功能。 核心

PM2 是 Node.js 应用的专业级进程管理器,专为生产环境设计,提供应用守护、集群管理、日志监控等核心功能。

核心特性应用守护:崩溃时自动重启零秒重载:热更新应用不停机 (pm2 reload)负载均衡:通过集群模式利用多核 CPU日志管理:集中收集 stdout/stderr 日志监控仪表盘:实时查看 CPU/内存/请求状态 安装与更新 核心命令手册1. 进程生命周期管理

命令

作用

示例

pm2 start

启动应用

pm2 start app.js --name "API"

pm2 stop

停止应用

pm2 stop 0(ID)或 pm2 stop all

pm2 restart

硬重启

pm2 restart api(应用名)

pm2 reload

软重载(不停机)

pm2 reload cluster-app

pm2 delete

移除进程

pm2 delete 1 或 pm2 delete all

2. 集群模式(负载均衡)3. 监控与日志

命令

作用

pm2 status

查看进程状态表

pm2 monit

打开实时监控仪表盘

pm2 logs

显示所有日志

pm2 logs api --err

仅显示错误日志

pm2 flush

清空历史日志

pm2 startup

创建系统服务(开机自启)

4. 配置文件(关键)

通过 ecosystem.config.js 管理复杂配置:

使用配置启动:pm2 start ecosystem.config.js

⚙️ 高级运维操作环境变量隔离

ecosystem.config.js 中配置 env_production 和 env_staging 区分

健康检查

开启 HTTP 健康检查端点:

定时重启(内存泄漏防御) 故障排除

问题

诊断命令

应用反复崩溃

pm2 logs --lines 1000

CPU 占用过高

pm2 monit + pm2 describe <id>

端口冲突

pm2 list 查端口 + lsof -i :8080

启动失败

NODE_ENV=development pm2 start app.js --no-daemon

文件描述符耗尽

`pm2 describe <id>

可视化监控⚠️ 安全提醒不使用 root 运行:防火墙限制:日志权限加固:

通过 PM2,你可以将 Node.js 应用的 可用性提升 99.95%+。更多命令参考官方文档:PM2 Runtime Documentation