PM2 如何管理和监控 Node.js 应用?

阅读时长 4 分钟读完

在 Node.js 应用中,当我们需要管理和监控进程时,可以使用 PM2 工具。PM2 是一个 Node.js 进程管理器,它可以帮助我们启动、停止、重启 Node.js 应用,并且可以监控应用程序的 CPU 使用率、内存使用情况和日志输出等信息。

PM2 基础命令

使用 PM2 管理 Node.js 应用程序,需要先安装 PM2。

接着,通过 PM2 启动应用程序。

注意:这里假设我们的应用程序文件名为 app.js。

除了通过应用程序文件名启动应用程序之外,还可以使用应用程序的目录启动应用程序。

其中,option name 可以指定应用程序的 name,这里指定为 app。

使用 pm2 list 命令可以查看所有已启动的应用程序。使用 pm2 start,pm2 restart,pm2 stop 和 pm2 delete 命令可以分别启动、重启、停止和删除应用程序。

PM2 CPU 和内存监控

PM2 不仅可以管理和监控应用程序的启动和停止,还可以监控 CPU 和内存等系统性能指标。通过 PM2 的监控面板,我们可以看到应用程序的 CPU 使用率、内存使用情况和日志输出等信息。

使用 pm2 monit 命令可以打开监控面板。

接着,我们就可以在终端窗口中看到当前应用程序的 CPU 使用率、内存使用情况和日志输出等信息了。

除了使用命令行工具 pm2 monit,还可以使用 PM2 的 web 界面来实现监控和管理。使用 pm2 web 命令可以打开 Web 界面。

之后,就可以在浏览器中访问本地的 9615 端口了。这里默认端口是 9615,当然也可以通过 –port 选项指定其他端口。在 Web 界面中,我们可以看到每个应用程序的 CPU 使用率、内存使用情况和日志输出等信息。

PM2 日志输出

在应用程序中,我们经常需要记录日志以便于问题排查和性能优化等工作。PM2 默认会将应用程序的所有日志输出到终端或者日志文件中。使用 PM2 管理应用程序的日志输出,可以使用命令行工具 pm2 logs。

通过 pm2 logs 命令,我们可以看到应用程序的所有日志输出。如果需要过滤特定应用程序的日志输出,可以使用 PM2 的 option name 来指定。

除了使用命令行工具 pm2 logs,还可以使用 PM2 的日志系统将应用程序的日志输出到指定的日志文件中。通过在应用程序中使用 console.log,console.error 等方法输出日志信息,然后使用 PM2 的 option out 和 err 来指定输出的日志文件。

在这个例子中,我们将应用程序的标准输出重定向到 /path/to/out.log 文件,并将应用程序的错误输出重定向到 /path/to/err.log 文件。

总结

PM2 可以帮助我们管理和监控 Node.js 应用程序。通过 PM2 的命令行工具和监控面板,我们可以对应用程序的运行状态进行管理和监控,并且可以查看应用程序的 CPU 使用率、内存使用情况和日志输出等信息。使用 PM2 的日志系统,我们可以将应用程序的日志输出到指定的文件中,这样有助于我们进行问题排查和性能优化等工作。

附上最常用的 PM2 命令:

  • pm2 start <app_name|app.js> - 启动一个应用程序
  • pm2 stop <app_name|id> - 停止一个应用程序
  • pm2 restart <app_name|id> - 重启一个应用程序
  • pm2 delete <app_name|id> - 删除一个应用程序
  • pm2 logs <app_name|id> - 查看应用程序日志输出
  • pm2 monit <app_name|id> - 查看应用程序运行状态
  • pm2 list - 显示所有运行的应用程序
  • pm2 startup - 生成开机启动项
  • pm2 save - 保存当前应用程序列表
  • pm2 deploy <configuration_file> [environment] setup - 用于一键部署应用程序的命令

PM2 不仅仅能够监控和管理 Node.js 应用程序,还支持一键部署等高级功能,更多如此强大的功能值得我们学习和掌握。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64ec1179f6b2d6eab365da17

纠错
反馈