简介
pm2是一个带有负载均衡功能的应用进程管理器,类似有Supervisor,forever。
安装
npm install pm2@latest -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
参数说明:
- --watch:监听应用目录的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件。
- -i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目。
- --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.重启
pm2 restart app.js
3.pm列表
pm2 list
4.停止
停止特定的应用。可以先通过pm2 list获取应用的名字(--name指定的)或者进程id。
pm2 stop app_name|app_id
如果要停止所有应用,可以
pm2 stop all
5.删除
pm2 delete app_name|app_id
如果要停止所有应用,可以
pm2 delete all
其他
$ pm2 startup # 创建开机自启动命令
$ pm2 save # 保存当前应用列表
$ pm2 describe name|id # 查看某个进程的信息
开机自启
1.通过pm2 save保存当前进程状态。
2.通过pm2 startup [platform]生成开机自启动的命令。(记得查看控制台输出)
3.将步骤2生成的命令,粘贴到控制台进行,搞定。