详解 PM2 管理 Node.js 进程及运行脚本

在 Node.js 领域,有一款非常实用的进程管理工具 - PM2。它可以帮助开发者方便地管理 Node.js 进程和运行脚本,具备负载均衡、自动重启、日志管理等多种功能。在本文中,我们将会详细地介绍 PM2 的使用并提供示例代码。

安装 PM2

PM2 的安装非常简单,只需要执行以下命令即可:

安装完成后,我们可以使用 pm2 命令来启动、停止、重启、删除、监控 Node.js 应用程序。

启动 Node.js 应用程序

我们可以使用 pm2 start 命令来启动 Node.js 应用程序。启动命令的基本用法如下:

其中,app.js 是 Node.js 应用程序的入口文件。如果我们需要指定应用程序的名称,可以使用 --name 参数:

启动多个 Node.js 应用程序,可以使用 -i 参数指定实例数量:

此时,PM2 会使用 Node.js 自带的 cluster 模块启动两个子进程,并将请求分布到这两个进程之间。这样可以提高应用程序的性能,同时也可以实现进程的自动重启。

监控应用程序

PM2 提供了内置的监控器,可以实时查看应用程序的 CPU 使用率、内存使用率、请求速率等信息。我们可以使用 pm2 monit 命令来启动监控器:

监控器会自动刷新,并将应用程序的状态显示在终端上。

重启应用程序

在开发 Node.js 应用程序时,我们难免会遇到应用程序崩溃或者无响应的情况。此时,我们可以使用 PM2 来自动重启应用程序。我们可以使用 pm2 restart 命令来重启应用程序:

此时,PM2 会自动杀死应用程序的进程并重新启动应用程序。

停止应用程序

我们可以使用 pm2 stop 命令来停止应用程序:

此时,PM2 会发送 SIGINT 信号给应用程序,应用程序将自动退出。

删除应用程序

如果我们需要删除已经启动的应用程序,可以使用 pm2 delete 命令:

此时,PM2 会杀死应用程序的进程,并从监控列表中删除应用程序。

运行脚本

除了管理 Node.js 应用程序,PM2 还可以帮助我们运行 shell 脚本、Python 脚本等其他类型的脚本。我们可以使用 pm2 start 命令来运行这些脚本。假设我们有一个 shell 脚本 test.sh,内容如下:

我们可以使用以下命令来运行该脚本:

其中,--interpreter 参数指定脚本的解释器,--no-autorestart 参数禁止自动重启脚本,--name 参数指定脚本的名称。

总结

总的来说,PM2 是一款非常实用的进程管理工具。除了管理 Node.js 应用程序之外,它还可以帮助我们运行其他类型的脚本。在实际开发中,我们可以结合 PM2 的各种功能,提高应用程序的性能和稳定性。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65a32ed0add4f0e0ffb49f42


纠错反馈