企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

Linux 下的 PM2 完整指南(linux /media)

wudianyun 2025-07-03 20:26:37 精选文章 4 ℃

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

核心特性

  1. 应用守护:崩溃时自动重启
  2. 零秒重载:热更新应用不停机 (pm2 reload)
  3. 负载均衡:通过集群模式利用多核 CPU
  4. 日志管理:集中收集 stdout/stderr 日志
  5. 监控仪表盘:实时查看 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 1pm2 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_productionenv_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>

可视化监控

安全提醒

  1. 不使用 root 运行
  2. 防火墙限制
  3. 日志权限加固

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

Tags:

最近发表
标签列表