pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能,在前端和nodejs的世界中用的很多。

但是pm2强大之处不止于此,你的go应用也可以用它来管理。之前go应用使用supervisor负责监控应用,类似的工具还有forever,异常崩溃时自动守护重启,但是pm2更简单好用啊。

假如你的go应用名字叫main可执行文件 ,那么直接pm2 start main即可,内存和cpu统统能够监控。

npm install -g pm2pm2 start bin/www 或 pm2 start app.js
pm2 start app.js --name wb123
pm2 start bin/www --watch
pm2 stop www
pm2 stop all
pm2 delete www
pm2 delete all
pm2 list
pm2 describe www
pm2 monit
pm2 logs
pm2 logs www
pm2 restart www
pm2 restart all

主要特性:

  • 内建负载均衡(使用 Node cluster 集群模块)

  • 后台运行

  • 0 秒停机重载

  • 具有 Ubuntu 和 CentOS 的启动脚本

  • 停止不稳定的进程(避免无限循环)

  • 控制台检测

  • 提供 HTTP API

  • 远程控制和实时的接口 API(Nodejs 模块,允许和 PM2 进程管理器交互)

常用命令

启动

参数说明:

--watch-i --instances-i 0-i max--ignore-watch--ignore-watch="test node_modules "some scripts""-n --name-o --output -e --error 

安装&更新:

$ npm install pm2 -g

# Or install the V2 release candidate
$ npm install pm2@next -g
# Install latest pm2 version
$ npm install pm2 -g
# Save process list, exit old PM2 & restore all processes
$ pm2 update

参考博文: