PM2:JavaScript 应用程序的监控与管理

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 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 开发者的必备工具。它安装简单,无需复杂配置,并提供监控和管理进程所需的所有功能。

推荐