目录
1. pm2 简介
2. pm2的主要特性
3. 常用命令
3.1 pm2的安装与更新
3.1.1 pm2安装
3.1.2 pm2更新
3.2 pm2 启动运行指定的程序
3.2.1 正常启动应用程序
3.2.2 启动应用程序时并设置name
3.3 pm2 停止指定运行的程序
3.3.1 停止特定的应用
3.3.2 停止所有的应用
3.4 重启所有进程
3.4.1 重新启动
3.4.2 0秒停机重载
3.5 删除应用程序
3.5.1 删除指定的应用程序
3.5.2 删除所有的应用
3.6 显示所有进程状态
3.7 显示日志
3.7.1 显示所有应用程序的日志
3.7.2 显示特定的进程日志
3.8 查看每个应用占用情况
3.9 显示应用程序所有信息
4. PM2配置文件方式
4.1 生成示例配置文件
NodeJS 进程管理器 PM2 的使用
1. pm2 简介
PM2 是一款非常优秀的 Node 进程管理工具,它有着丰富的特性:能够充分利用多核 CPU且能够负载均衡、能够帮助应用在崩溃后、指定时间(cluster model)和超出最大内存限制等情况下实现自动重启。
PM2 是开源的基于 Nodejs 的应用进程管理器,包括守护进程,监控,日志的一整套完整的功能
2. pm2的主要特性
- 内建负载均衡(使用 Node cluster 集群模块)
- 后台运行
- 0 秒停机重载,我理解大概意思是维护升级的时候不需要停机.
- 具有 Ubuntu 和 CentOS 的启动脚本
- 停止不稳定的进程(避免无限循环)
- 控制台检测
- 提供 HTTP API
- 远程控制和实时的接口 API(Nodejs 模块,允许和 PM2 进程管理器交互)
3. 常用命令
3.1 pm2的安装与更新
在使用pm2之前,我们还需要安装nodejs,这是前提
下载nodejs:下载 | Node.js | Index of /dist/
如何安装nodejs:Node.js 安装配置 | 菜鸟教程 | 通过包管理器安装 Node.js | Node.js
3.1.1 pm2安装
npm install pm2 -g
或
yarn global add pm2
查看版本好,确定是否安装成功
3.1.2 pm2更新
pm2 updated
3.2 pm2 启动运行指定的程序
通过pm2启动应用程序服务,守护进程
3.2.1 正常启动应用程序
pm2 start app.js
pm2 start index.js
示例:
多个应用程序
通过pm2启动应用程序
启动第一个应用程序
启动第二个应用程序
启动是否能正常运行程序
我们发现两个进程都可以正常访问,我们会发现两个进程都叫app,甚至都不太好区分谁是谁
因此,我们在启动程序的时候,可以自定义命名
3.2.2 启动应用程序时并设置name
pm2 start app.js --name demo
上面的示例中,两个进程都是同一个名字,都不太好区分,启动第三个程序时修改进程名称
结果:
3.3 pm2 停止指定运行的程序
通过pm2停止正在运行的程序
3.3.1 停止特定的应用
- 根据应用名停止指定应用
pm2 stop [AppName]
- 根据应用id停止指定应用
pm2 stop [ID]
现在可以停止进程
通过进程名关闭进程
通过进程id关闭进程
结果
3.3.2 停止所有的应用
- 停止所有进程
pm2 stop all
all是关闭所有的进程
访问结果:
3.4 重启所有进程
3.4.1 重新启动
restart命令同时杀死并重启所有进程。短时间内服务不可用。生成环境推荐使用reload
pm2 restart all
3.4.2 0秒停机重载
重新启动所有进程,始终保持至少一个进程在运行
pm2 reload app.js
3.5 删除应用程序
删除应用程序,就是不在让pm2维护这个应用程序
3.5.1 删除指定的应用程序
- 根据应用名关闭并删除应用
pm2 delete [AppName]
- 根据应用ID关闭并删除应用
pm2 delete [ID]
通过进程名删除进程
通过进程id删除进程
3.5.2 删除所有的应用
- 关闭并删除所有的应用
pm2 delete all
3.6 显示所有进程状态
pm2 list
查看进程状态
3.7 显示日志
3.7.1 显示所有应用程序的日志
pm2 logs
查看进程日志
3.7.2 显示特定的进程日志
- 指定应用名查看应用日志
pm2 logs [Name]
- 指定应用ID查看应用日志
pm2 logs [ID]
3.8 查看每个应用占用情况
pm2 monit
3.9 显示应用程序所有信息
- 根据name查看
pm2 show [Name]
- 根据id查看
pm2 show [ID]
4. PM2配置文件方式
4.1 生成示例配置文件
pm2 ecosystem
或
pm2 init
参考资料
PM2管理前端项目 | 流程管理工具 PM2