简介
PM2是nodeJS进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能jiank监控,自动重启,负载均衡等,而且使用是非常简单的。
当你要把你的独立代码利用全部的服务器上的所有 CPU,并保证进程永远都活着,0 秒的重载, PM2 是完美的。它非常适合 IaaS 结构,但不要把它用于 PaaS 方案(随后将开发 Paas 的解决方案)。
主要特性
• 内建负载均衡(使用 Node cluster 集群模块)
• 后台运行 。
• 0 秒停机重载,维护升级的时候不需要停机。
• 具有 Ubuntu 和 CentOS 的启动脚本 。
• 停止不稳定的进程(避免无限循环)
• 控制台检测
• 提供 HTTP API
• 远程控制和实时的接口 API ( Nodejs 模块,允许和 PM2 进程管理器交互 )
准备
1,node环境(确保您的电脑已经安装了nodeJS)
2,npm
安装
使用npm全局安装
npm i pm2 -g
使用
挑express应用来举例。一般我们都是通过npm start启动应用,其实就是调用node ./bin/www。那么,换成pm2就是。
注意,这里用了–watch参数,意味着当你的express应用代码发生变化时,pm2会帮你重启服务(长时间监测有可能会出现问题,这时需要重启项目)
pm2 satart ./bin/www -watch
常用命令
-watch:监听应用目录变化,一旦发生变化,自动重启。
-i -instances:启动多少个实例,可用于负载均衡,如果-i 0或 -i max,则根据当前机器核数来确定实例数目。
-ignore-watch:排查监听目录/文件,可以是特定文件名,也可以是正则。
-n -name:应用的名字,查看应用信息。
-o -output:标准输出日志文件路径
-e -error:错误日志文件输出