pm2是node管理與守護(hù)進(jìn)程工具.
1. 安裝
npm install -g pm2
2. 單個(gè)啟動(dòng)
pm2 start app.js # 啟動(dòng)
pm2 start app.js -i 4 # 啟動(dòng)4個(gè)應(yīng)用實(shí)例,自動(dòng)負(fù)載均衡
# 監(jiān)聽(tīng)文件變化,配合pm2 logs,方便本地開(kāi)發(fā)
pm2 start app.js --watch
pm2 start app.js -n test # 啟動(dòng)并命名為test
# -- 后面接的參數(shù)會(huì)直接傳遞給啟動(dòng)的程序
pm2 start app.js -n test -- -c ./config.json
3. 批量啟動(dòng)
新建.json文件如server.json,配置如下
{
"apps": [{
"name": "appA",
"script": "./appA.js",
"watch": false
}, {
"name": "appB",
"script": "./appB.js",
"watch": false
}]
}
啟動(dòng)
pm2 start server.json
4. 重啟
pm2 restart app_name/app_id # 重啟
pm2 restart all # 重啟所有進(jìn)程,相當(dāng)stop+start
pm2 reload all # 0秒停機(jī)重載進(jìn)程 (用于不間斷進(jìn)程)
5. 查看
pm2 list # 查看進(jìn)程
pm2 logs # 查看日志
pm2 show app_name|app_id # 查看進(jìn)程詳情
pm2 monit # 查看CPU和內(nèi)存資源占用
6. 停止
pm2 stop app_name/app_id
pm2 stop all # 停止所有
7. 刪除
pm2 delete app_name/app_id # 從列表中刪除指定的進(jìn)程
pm2 delete all # 從列表中刪除全部進(jìn)程
pm2 kill # 殺死守護(hù)進(jìn)程
8. 開(kāi)機(jī)自啟動(dòng)
pm2 startup # 創(chuàng)建開(kāi)機(jī)自啟動(dòng)命令
pm2 save # 保存當(dāng)前應(yīng)用列表
pm2 resurrect # 重新加載保存的應(yīng)用列表
pm2 unstartup # 移除開(kāi)機(jī)自啟動(dòng)
9. pm2更新
pm2 save # 保存當(dāng)前應(yīng)用列表
npm install pm2 -g
pm2 update