1. 什么是PM2
pm2(Process Manager 2)是一个流行的 Node.js 进程管理工具,用于在产品环境中运行和管理 Node.js 应用程序。通过 pm2,您可以轻松地启动、重启、停止和监控 Node.js 应用程序,确保应用程序始终在线运行。
以下是 pm2 的一些主要特性:
-
进程管理:轻松地启动、停止、重启和删除 Node.js 应用程序。
-
守护进程:使得应用程序始终保持在线运行,若意外崩溃则自动重新启动。
-
负载均衡:内建的负载均衡器允许您在多个进程之间平均分配客户端连接,充分利用多核 CPU。
-
日志管理:自动合并、存档和轮询管理应用程序的日志文件。
-
监控:实时监控应用程序的 CPU、内存使用率、网速和其他关键指标。
-
集群模式:一键将应用程序扩展为多个实例,以便在多核服务器上运行。
要安装 pm2,您需要先安装 Node.js 和 npm(Node.js 包管理器)。然后,运行以下命令进行全局安装:
npm install -g pm2
安装完成后,您可以使用 pm2 命令来管理您的 Node.js 应用程序。例如,如果您有一个名为 app.js 的 Node.js 应用程序,可以使用以下命令启动它:
pm2 start app.js
有关 pm2 的更多信息,请访问其 官方文档 和 GitHub 仓库。
2. PM2使用
安装 npm i -g pm2
**all 代表所有 **
- 启动命令 pm2 start app.js
- 停止命令 pm2 stop app_name| app_id
- 重启命令 pm2 restart app.js
- 删除命令 pm2 delete app.js
- 查看列表 pm2 list
- 日志 pm2 logs
- 监视器 pm2 monit
以下是 PM2 的一些常见用法:
- 启动应用程序:使用
pm2 start命令启动 Node.js 应用程序。例如,通常会使用pm2 start app.js启动名为app.js的应用程序。您还可以指定额外的选项,如--name给进程自定义名称,或使用--instances以集群模式运行多个实例。
pm2 start app.js --name="myapp" --instances=4
- 列出所有进程:使用
pm2 list或pm2 status命令列出所有受 PM2 管理的进程。
pm2 list
- 停止应用程序:使用
pm2 stop命令停止运行中的应用程序。可以使用进程 ID、自定义名称或者应用程序文件名作为参数。
pm2 stop myapp
- 重启应用程序:使用
pm2 restart命令重新启动正在运行的应用程序实例。
pm2 restart myapp
- 查看应用程序日志:使用
pm2 logs命令查看应用程序的实时日志输出。您可以指定进程 ID、自定义名称或者应用程序文件名来查看特定应用程序的日志。
pm2 logs myapp
- 查看应用程序详细信息:使用
pm2 show命令查看应用程序的详细信息,包括进程 ID、状态、重启次数、内存使用情况等。
pm2 show myapp
- 删除应用程序:使用
pm2 delete命令停止并移除应用程序实例。
pm2 delete myapp
- 调整集群中的实例数量:使用
pm2 scale命令轻松地增加或减少集群中的实例数量。
pm2 scale myapp 6
- 开机自启动配置:使用
pm2 startup命令生成系统启动时自动启动 PM2 和应用程序的脚本。然后运行生成的命令。
pm2 startup
- 保存和恢复应用程序列表:要在 PM2 重启后保持当前的应用程序列表,请使用
pm2 save命令将应用程序列表保存到磁盘。要恢复先前保存的应用程序列表,请使用pm2 resurrect命令。
pm2 save
pm2