一、使用场景:
1、普通启动方式:node index.js,关闭终端就结束进程;pm2可以后台运行,终端关闭不影响。
2、pm2可以收集日志,并有插件配合进行管理。后面会提到。
3、可以监听某些文件改动,自动重启
4、cluster模式下,会自动使用轮询的方式达到负载均衡,从而减轻服务器的压力。
5、对于多个进程,不同环境,可以统一配置,方便管理。
使用前提:PM2的使用前提是该系统已经安装好node安装包
二、使用命令:
2.1、安装pm2的命令
npm install pm2@latest -g
2.2、创建启动
pm2 start npm --name 'xxx' -- start # 启动
pm2 start app.js --name 'xxx' #重启
2.3、查看命令
pm2 list #查看列表
pm2 describe xxx #查看某个进程/应用具体情况
pm2 logs '序号/名称' #查看某个进程/应用的日志,使用
--watch:监听应用目录源码的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件
-i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目,可以弥补node.js缺陷
--ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如--ignore-watch="test node_modules "some scripts"
-n --name:应用的名称。查看应用信息的时候可以用到
-o --output <path>:标准输出日志文件的路径,有默认路径
-e --error <path>:错误输出日志文件的路径,有默认路径
--interpreter <interpreter>:the interpreter pm2 should use for executing app (bash, python...)。比如你用的coffee script来编写应用
2.4、删除命令
pm2 delete 'xxx'
pm2 delete all
2.5、停止命令
pm2 stop 'xxx'
2.6、结束进程
pm2 stop 'xxx'