在 Node.js 领域,有一款非常实用的进程管理工具 - PM2。它可以帮助开发者方便地管理 Node.js 进程和运行脚本,具备负载均衡、自动重启、日志管理等多种功能。在本文中,我们将会详细地介绍 PM2 的使用并提供示例代码。
安装 PM2
PM2 的安装非常简单,只需要执行以下命令即可:
npm install -g pm2
安装完成后,我们可以使用 pm2
命令来启动、停止、重启、删除、监控 Node.js 应用程序。
启动 Node.js 应用程序
我们可以使用 pm2 start
命令来启动 Node.js 应用程序。启动命令的基本用法如下:
pm2 start app.js
其中,app.js
是 Node.js 应用程序的入口文件。如果我们需要指定应用程序的名称,可以使用 --name
参数:
pm2 start app.js --name myapp
启动多个 Node.js 应用程序,可以使用 -i
参数指定实例数量:
pm2 start app.js -i 2
此时,PM2 会使用 Node.js 自带的 cluster 模块启动两个子进程,并将请求分布到这两个进程之间。这样可以提高应用程序的性能,同时也可以实现进程的自动重启。
监控应用程序
PM2 提供了内置的监控器,可以实时查看应用程序的 CPU 使用率、内存使用率、请求速率等信息。我们可以使用 pm2 monit
命令来启动监控器:
pm2 monit
监控器会自动刷新,并将应用程序的状态显示在终端上。
重启应用程序
在开发 Node.js 应用程序时,我们难免会遇到应用程序崩溃或者无响应的情况。此时,我们可以使用 PM2 来自动重启应用程序。我们可以使用 pm2 restart
命令来重启应用程序:
pm2 restart myapp
此时,PM2 会自动杀死应用程序的进程并重新启动应用程序。
停止应用程序
我们可以使用 pm2 stop
命令来停止应用程序:
pm2 stop myapp
此时,PM2 会发送 SIGINT 信号给应用程序,应用程序将自动退出。
删除应用程序
如果我们需要删除已经启动的应用程序,可以使用 pm2 delete
命令:
pm2 delete myapp
此时,PM2 会杀死应用程序的进程,并从监控列表中删除应用程序。
运行脚本
除了管理 Node.js 应用程序,PM2 还可以帮助我们运行 shell 脚本、Python 脚本等其他类型的脚本。我们可以使用 pm2 start
命令来运行这些脚本。假设我们有一个 shell 脚本 test.sh
,内容如下:
#!/bin/bash echo "Hello, world!"
我们可以使用以下命令来运行该脚本:
pm2 start test.sh --interpreter bash --no-autorestart --name test
其中,--interpreter
参数指定脚本的解释器,--no-autorestart
参数禁止自动重启脚本,--name
参数指定脚本的名称。
总结
总的来说,PM2 是一款非常实用的进程管理工具。除了管理 Node.js 应用程序之外,它还可以帮助我们运行其他类型的脚本。在实际开发中,我们可以结合 PM2 的各种功能,提高应用程序的性能和稳定性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65a32ed0add4f0e0ffb49f42