为什么需要使用PM2
因为node.js 是单进程,进程被杀死后整个服务就跪了,所以需要进程管理工具,但是pm2 远远不止这些。
介绍
PM2 是一个带有负载均衡功能的 Node 应用的进程管理器。
当你要把你的独立代码利用全部的服务器上的所有 CPU,并保证进程永远都活着,0 秒的重载, PM2 是完美的。
特性
- 内建负载均衡(使用Node cluster 集群模块)
- 后台运行
- 0秒停机重载(维护升级的时候不需要停机).
- 具有Ubuntu和CentOS 的启动脚本
- 停止不稳定的进程(避免无限循环)
- 控制台检测
- 提供 HTTP API
- 远程控制和实时的接口API ( Nodejs 模块,允许和PM2进程管理器交互 )
安装
首先确保有node.js 的环境
npm install -g pm2
假设你现在已经写好了一个app.js的文件,需要启动,你可以使用pm2进行管理
1. 启动
- # pm2 start app.js
- # pm2 start app.js --name my-api #my-api为PM2进程名称
- # pm2 start app.js -i 0 #根据CPU核数启动进程个数
- # pm2 start app.js --watch #实时监控app.js的方式启动,当app.js文件有变动时,pm2会自动reload
2. 查看进程
- # pm2 list
- # pm2 show 0 或者 # pm2 info 0 #查看进程详细信息,0为PM2进程id
3. 监控
- # pm2 monit
4. 停止
- # pm2 stop all #停止PM2列表中所有的进程
- # pm2 stop 0 #停止PM2列表中进程为0的进程
5. 重载
- # pm2 reload all #重载PM2列表中所有的进程
- # p