网站首页 > 精选文章 正文
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
猜你喜欢
- 2025-07-03 CentOS7系统如何修改主机名(更改centos主机名)
- 2025-07-03 Ubuntu1804 及以上版本的 Coredump 相关设置
- 2025-07-03 Linux中如何修改ip地址?(linux系统怎么更改ip地址)
- 2025-07-03 Linux系统日常运维九大核心技能(linux运维都干什么)
- 2025-07-03 Linux 日志管理攻略:用 journalctl 揪出服务器安全隐患
- 2025-07-03 Linux下快速安装ollama和deepseek并使用web界面
- 2025-07-03 RockyLinux9.5下使用ollama搭建本地AI大模型DeepSeek
- 2025-07-03 Rocky Linux 9常用命令备忘录(不定时更新)
- 2025-07-03 Rocky Linux 9 系统初始化与安全加固脚本
- 2025-07-03 Linux cron任务计划(linux任务计划命令)
- 07-03CentOS7系统如何修改主机名(更改centos主机名)
- 07-03Ubuntu1804 及以上版本的 Coredump 相关设置
- 07-03Linux中如何修改ip地址?(linux系统怎么更改ip地址)
- 07-03Linux系统日常运维九大核心技能(linux运维都干什么)
- 07-03Linux 日志管理攻略:用 journalctl 揪出服务器安全隐患
- 07-03Linux下快速安装ollama和deepseek并使用web界面
- 07-03RockyLinux9.5下使用ollama搭建本地AI大模型DeepSeek
- 07-03Linux 下的 PM2 完整指南(linux /media)
- 最近发表
-
- CentOS7系统如何修改主机名(更改centos主机名)
- Ubuntu1804 及以上版本的 Coredump 相关设置
- Linux中如何修改ip地址?(linux系统怎么更改ip地址)
- Linux系统日常运维九大核心技能(linux运维都干什么)
- Linux 日志管理攻略:用 journalctl 揪出服务器安全隐患
- Linux下快速安装ollama和deepseek并使用web界面
- RockyLinux9.5下使用ollama搭建本地AI大模型DeepSeek
- Linux 下的 PM2 完整指南(linux /media)
- Rocky Linux 9常用命令备忘录(不定时更新)
- Rocky Linux 9 系统初始化与安全加固脚本
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)