当我们运行 Node.js 服务器时,我们可能需要同时处理多个进程、日志管理、进程守护等多个问题。PM2 是一个流行的 Node.js 进程管理工具,可以极大地简化这些问题。
安装 PM2
全局安装 PM2,命令如下:
npm install pm2 -g
安装完成后,可以通过运行以下命令来检查 PM2 是否已安装成功:
pm2 --version
基本用法
启动一个 Node.js 应用程序,并交由 PM2 管理:
pm2 start app.js
查看正在运行的应用程序:
pm2 list
重启一个应用程序:
pm2 restart app
停止一个应用程序:
pm2 stop app
删除一个应用程序:
pm2 delete app
将 PM2 用于生产环境
PM2 提供了一个方便的命令 startup
,可以在系统启动时自动启动您的应用程序,并将其管理起来:
pm2 startup
该命令将输出一个命令,需要您以超级用户身份执行,以确保在系统重启时自动启动 PM2 进程:
sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u [your_user] --hp /home/[your_user]
更换 [your_user]
为您的用户名。
日志管理
PM2 提供了一些命令来管理应用程序的日志:
查看所有日志:
pm2 logs
查看特定应用程序的日志:
pm2 logs app
将所有日志输出到特定文件:
pm2 logs app -o /root/app-out.log -e /root/app-err.log
进程监控
PM2 提供了一些命令来监控应用程序的 CPU 和内存使用情况:
查看所有应用程序的监控:
pm2 monit
查看特定应用程序的监控:
pm2 monit app
代码示例
以下代码示例演示了如何在 Node.js 中使用 PM2,使用 Express 构建一个简单的 Web 服务器:
-- -------------------- ---- ------- ----- ------- - ------------------ ----- --- - --------- ------------ ----- ---- -- - --------------- -------- -- ----- ------ - ---------------- -- -- - ------------------------ ------- -- ---- ------- -- -------------- - ------
通过运行以下命令,将该应用程序托管给 PM2:
pm2 start app.js
这样,您的 Node.js 应用程序现在已由 PM2 管理,您可以使用 PM2 的各种命令来管理它。
结论
PM2 是一个很好的 Node.js 进程管理工具,可以极大地简化 Node.js 服务器管理,使其更加高效、可靠和易用。该工具的学习曲线相对较低,非常适合用于生产环境中。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66ee7eb16fbf96019722c201