在这篇博客中,我将介绍使用PM2对NodeJS应用进行监控管理。

PM2是NodeJS应用的进程管理器。它的一个特点是自动使用Node的 Cluster API。 PM2使应用程序能够运行多个进程,通常不需要修改它。

PM2 是一个带有负载均衡功能的Node应用的进程管理器.

当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的。它非常适合IaaS结构。

我们将讨论安装,配置和使用PM2。

安装

npm install -g pm2

Web Interface (JSON API)

PM2以一个JSON API的形式配备了web接口。我们可以开始运行以下命令:

pm2 web

这个web监听端口9615.这个Web接口实际上是一个监控程序。我们可以检查任何监视的处理,例如:

# List processes monitored
pm2 list

# See "tail" style log output of all logs output from watched processes
pm2 logs

# Clear all logs
pm2 flush

# List process 0 (the web interface in this case)
pm2 desc 0

# Monitor processes and system usage
pm2 monit

这是web接口:

pm2

运行应用程序

运行一个应用程序与PM2相当直白:

pm2 start app.js --name "myapp" -i max

让我们探讨一下这个命令:

  • –start app.js ——运行和监视应用程序
  • –name ——应用程序的名称,所以我们可以参考其他命令
  • –i max ——运行多个应用程序的过程。 每个CPU核心PM2将运行一个进程。 它还将试图运行的进程之间的负载平衡的请求。

我的应用叫 myapp 我们可以使用其他命令:

# Reload and restart the application
pm2 reload myapp

# Stop the application
pm2 stop myapp

# Remove myapp from PM2
pm2 delete myapp

还有其他一些命令可以使用,如 gracefulReload 重新启动之前,用于关闭所有现有的连接。

现在我们可以看到web界面和应用监控:

pm2

下面就是PM2 monit的命令界面:

pm2


今天就介绍这么多

pm2 github地址

更多