什么是 PM2?
PM2 (Process Manager 2) 是一款用于 Node.js 应用程序的高级进程管理器,提供内置的监控、自动重启和负载均衡功能。它允许您在 production 环境中运行 JavaScript 应用程序,跟踪其状态,收集性能指标并同时管理多个进程。
为什么需要监控?
在 production 环境中,了解应用程序的运行状况至关重要:它是否崩溃、内存消耗是否超标、是否出现错误。PM2 通过提供以下功能解决这些问题:
- 故障时自动重启
- 收集 CPU 和 RAM 指标
- 记录 stdout/stderr 日志
- 内置 Web 监控界面 (PM2 Plus)
安装
通过 npm 全局安装 PM2:
npm install -g pm2主要功能
- 启动应用程序:
pm2 start app.js - 实时监控:
pm2 monit - 查看进程列表:
pm2 list - 日志:
pm2 logs - Web 面板:
pm2 plus(需要注册)
JavaScript (Node.js) 代码示例
创建一个简单的应用程序 app.js:
const http = require('http');const server = http.createServer((req, res) => { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello from PM2!');});
server.listen(3000, () => { console.log('Server running on port 3000');});使用监控功能启动:
pm2 start app.js --name my-apppm2 monit您将在控制台中看到内存和 CPU 消耗的实时图表,以及重启次数。
何时使用
PM2 非常适合以下场景:
- Node.js 的 Production 服务器
- 微服务架构
- 需要故障后自动恢复的应用程序
- 需要简单监控而无需外部服务的情况
结论
PM2 是任何希望确保应用程序稳定运行的 Node.js 开发者的必备工具。它安装简单,无需复杂配置,并提供监控和管理进程所需的所有功能。