pm2是干什么的
PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。
安装
使用npm 进行全局安装
npm install -g pm2
-g:全局安装
常用命令
启动项目进程
# 启动项目
pm2 start app.js
# 启动项目并给项目起个名字
pm2 start app.js --name myApp
停止项目进程
# 停止某项目
pm2 stop myApp
# 停止全部项目
pm2 stop all
重启项目进程
# 重启项目
pm2 restart myApp
# 重启全部项目
pm2 restart all
删除项目进程
# 删除某项目
pm2 delete myApp
# 删除全部
pm2 delete all
查看项目信息
# 列出mp2管理的项目
pm2 list
# 查看某项目具体清空
pm2 describe myApp
# 监控某项目(ctrl+c退出监控)
pm2 monit myApp
查看日志
# 查看全部日志
pm2 logs
# 查看某项目的日志
pm2 logs myApp
# 查看300行日志
pm2 logs myApp --lines 3000
自动重启
启动的时候加参数
pm2 start app.js --watch
–watch:监听应用目录的变化,一旦发生变化,自动重启
负载均衡
启动的时候加参数
pm2 start app.js -i 2
-i 或–instances:指定实例个数,用于负载均衡。如果将参数值设置为:0或max,则pm2根据当前服务器CPU核数来开启实例数。
其它
设置内存超限后重启
pm2 start app.js --max-monery-restart 20M
使用超过20M内存后重启进程
扩展项目实例数目
pm2 scale myApp 10
将项目实例扩展到10个
开机自动启动pm2
- 使用“pm2 save”保存当前应用,pm2会将配置信息保存在:/root/.pm2/dump.pm2中
- 使用“pm2 startup”将pm2做为自启动服务,可使用命令查看pm2已经加入到开机启动
[root@master init.d]# systemctl list-unit-files | grep pm2
pm2-root.service enabled
- 重启服务器后,使用“pm2 list”,可以看到pm2服务已经在运行