如何使用PM2管理node程序

713 阅读3分钟

1. 什么是PM2

pm2(Process Manager 2)是一个流行的 Node.js 进程管理工具,用于在产品环境中运行和管理 Node.js 应用程序。通过 pm2,您可以轻松地启动、重启、停止和监控 Node.js 应用程序,确保应用程序始终在线运行。

以下是 pm2 的一些主要特性:

  1. 进程管理:轻松地启动、停止、重启和删除 Node.js 应用程序。

  2. 守护进程:使得应用程序始终保持在线运行,若意外崩溃则自动重新启动。

  3. 负载均衡:内建的负载均衡器允许您在多个进程之间平均分配客户端连接,充分利用多核 CPU。

  4. 日志管理:自动合并、存档和轮询管理应用程序的日志文件。

  5. 监控:实时监控应用程序的 CPU、内存使用率、网速和其他关键指标。

  6. 集群模式:一键将应用程序扩展为多个实例,以便在多核服务器上运行。

要安装 pm2,您需要先安装 Node.js 和 npm(Node.js 包管理器)。然后,运行以下命令进行全局安装:

npm install -g pm2

安装完成后,您可以使用 pm2 命令来管理您的 Node.js 应用程序。例如,如果您有一个名为 app.js 的 Node.js 应用程序,可以使用以下命令启动它:

pm2 start app.js

有关 pm2 的更多信息,请访问其 官方文档GitHub 仓库

pm2文档说明

2. PM2使用

安装 npm i -g pm2

**all 代表所有 **

  1. 启动命令 pm2 start app.js
  2. 停止命令 pm2 stop app_name| app_id
  3. 重启命令 pm2 restart app.js
  4. 删除命令 pm2 delete app.js
  5. 查看列表 pm2 list
  6. 日志 pm2 logs
  7. 监视器 pm2 monit

以下是 PM2 的一些常见用法:

  1. 启动应用程序:使用 pm2 start 命令启动 Node.js 应用程序。例如,通常会使用 pm2 start app.js 启动名为 app.js 的应用程序。您还可以指定额外的选项,如 --name 给进程自定义名称,或使用 --instances 以集群模式运行多个实例。
pm2 start app.js --name="myapp" --instances=4
  1. 列出所有进程:使用 pm2 listpm2 status 命令列出所有受 PM2 管理的进程。
pm2 list
  1. 停止应用程序:使用 pm2 stop 命令停止运行中的应用程序。可以使用进程 ID、自定义名称或者应用程序文件名作为参数。
pm2 stop myapp
  1. 重启应用程序:使用 pm2 restart 命令重新启动正在运行的应用程序实例。
pm2 restart myapp
  1. 查看应用程序日志:使用 pm2 logs 命令查看应用程序的实时日志输出。您可以指定进程 ID、自定义名称或者应用程序文件名来查看特定应用程序的日志。
pm2 logs myapp
  1. 查看应用程序详细信息:使用 pm2 show 命令查看应用程序的详细信息,包括进程 ID、状态、重启次数、内存使用情况等。
pm2 show myapp
  1. 删除应用程序:使用 pm2 delete 命令停止并移除应用程序实例。
pm2 delete myapp
  1. 调整集群中的实例数量:使用 pm2 scale 命令轻松地增加或减少集群中的实例数量。
pm2 scale myapp 6
  1. 开机自启动配置:使用 pm2 startup 命令生成系统启动时自动启动 PM2 和应用程序的脚本。然后运行生成的命令。
pm2 startup
  1. 保存和恢复应用程序列表:要在 PM2 重启后保持当前的应用程序列表,请使用 pm2 save 命令将应用程序列表保存到磁盘。要恢复先前保存的应用程序列表,请使用 pm2 resurrect 命令。
pm2 save
pm2