Node.js、PM2、进程管理、监控
安装 PM2
-
全局安装:
npm install pm2 -g
-
局部安装: 将
pm2
添加到项目的package.json
文件的devDependencies
中,然后执行:npm install
配置 PM2
-
创建配置文件: 创建一个名为
ecosystem.config.js
的文件,并添加以下内容:module.exports = { apps: [ { name: "my-app", script: "index.js" } ] }
-
自定义配置: 可以根据需要自定义配置文件,如设置环境变量、重启策略、日志记录选项等。
启动应用程序
pm2 start ecosystem.config.js
过程监控
-
实时监控:
pm2 monitor
-
日志记录:
pm2 logs my-app
-
错误处理:
pm2 list --filter errors
高级功能
-
集群模式: 使用
pm2 start ecosystem.config.js --cluster=2
启动多个工作进程。 -
负载均衡: 通过
pm2 start ecosystem.config.js --balance-policy=round-robin
启用负载均衡。 -
自动化任务: 使用
pm2 dev
命令在每次代码更改时启动应用程序或进行其他任务。
故障排除
-
启动失败: 确保已安装依赖项,路径正确,也没有语法错误。
-
内存泄漏: 使用
pm2 memory my-app
监视内存使用情况,并根据需要调整堆分配。 -
CPU 占用率高: 使用
pm2 top my-app
监视 CPU 占用率,并考虑优化代码或调整进程设置。
最佳实践
-
使用配置文件: 将配置信息存储在
ecosystem.config.js
中,以便于管理和 版本控制。 -
监控和警报: 定期监控应用程序并设置警报以检测问题。
-
记录错误: 记录应用程序错误以进行故障排除和改进。
-
使用集群模式: 在需要时使用集群模式以获得更好的可伸缩性和容错能力。
深入了解
- PM2 官网: 详细的文档和示例。
- Node.js PM2 教程: 分步的入门指导。
- [使用 PM2 管理 Node.js 应用程序](https://www.digitalocean.com/community/tutorials/nodejs-deployment-with- pm2): 涵盖高级主题和最佳实践。
PM2 是 Node.js 应用程序管理的强大且易于使用的 工具。通过遵循本手册中的步骤和技巧,新手和有经验的 开发者都可以充分利用 PM2 的功能,确保其应用程序平稳、高效地 运营。