PM2使用详解:Node.js应用的进程管理利器
- 821字
- 4分钟
- 2024-07-25
PM2 是一个进程管理工具,专为 Node.js 应用程序设计,旨在简化应用的部署和管理。它提供了应用程序的启动、停止、重启、监控等功能,并具有自动重启、负载均衡、日志管理等高级特性。以下是 PM2 的详细介绍和使用方法。
主要功能
- 进程管理:启动、停止、重启、删除应用。
- 监控:实时监控应用的状态、CPU、内存使用情况。
- 日志管理:查看和管理应用的日志。
- 负载均衡:通过集群模式(Cluster Mode)实现负载均衡。
- 自动重启:在应用崩溃或出现错误时自动重启。
- 启动脚本:开机时自动启动应用。
- 配置管理:使用 JSON 配置文件管理多个应用。
安装 PM2
要使用 PM2,首先需要安装它。可以通过 npm 安装:
基本用法
启动应用
启动一个应用,只需使用 pm2 start
命令,并指定应用入口文件:
查看应用状态
使用 pm2 list
命令查看当前运行的所有应用及其状态:
停止应用
使用 pm2 stop
命令停止指定应用:
或者使用应用 ID 停止:
重启应用
使用 pm2 restart
命令重启指定应用:
或者使用应用 ID 重启:
删除应用
使用 pm2 delete
命令删除指定应用:
或者使用应用 ID 删除:
高级用法
启动多实例(集群模式)
使用 -i
选项可以启动多个实例,以利用多核 CPU:
max
表示启动与 CPU 核数相等的实例数,你也可以指定具体的实例数,例如 -i 4
启动 4 个实例。
管理日志
查看指定应用的日志:
或者查看所有应用的日志:
监控应用
使用 pm2 monit
命令可以实时监控所有应用的状态:
使用 JSON 配置文件
PM2 允许使用 JSON 配置文件来管理应用。首先创建一个 ecosystem.config.js
文件:
然后使用 pm2 start
命令启动配置文件中的应用:
设置开机自启动
PM2 可以配置为在系统启动时自动启动应用。首先,生成启动脚本:
接着保存当前的进程列表:
重载应用
如果你希望无缝重载应用(不中断服务),可以使用 pm2 reload
命令:
或者使用应用 ID:
常用命令汇总
- 启动应用:
pm2 start <app>
- 停止应用:
pm2 stop <app>
- 重启应用:
pm2 restart <app>
- 删除应用:
pm2 delete <app>
- 查看应用列表:
pm2 list
- 查看应用日志:
pm2 logs <app>
- 实时监控:
pm2 monit
- 开机自启动:
pm2 startup
,pm2 save
通过这些功能,PM2 提供了一套完整的解决方案来管理 Node.js 应用的生命周期,从开发到生产环境的部署,都能够大大简化应用管理的复杂度,提高运行的稳定性和可靠性。