簡介:PM2 是一個帶有負載均衡功能的 Node 應用進程管理器。
主要特性:
-
內建負載均衡(使用 Node cluster 集羣模塊)
-
後臺運行
-
0 秒停機重載
-
具有 Ubuntu 和 CentOS 的啓動腳本
-
停止不穩定的進程(避免無限循環)
-
控制檯檢測
-
提供 HTTP API
-
遠程控制和實時的接口 API(Nodejs 模塊,允許和 PM2 進程管理器交互)
使用npm/cnpm全局安裝:
1
|
npm install -g pm2
|
pm2命令使用(項目更目錄下使用):
$ pm2 start app.js
啓動app項目
$ pm2 list
列出由pm2管理的所有進程信息,還會顯示一個進程會被啓動多少次,因爲沒處理的異常。
$ pm2 monit
監視每個node進程的CPU和內存的使用情況
$ pm2 logs
顯示所有進程日誌
$ pm2 stop all
停止所有進程
$ pm2 restart all
重啓所有進程
$ pm2 reload all 0
秒停機重載進程 (用於 NETWORKED 進程)
$ pm2 stop 0
停止指定的進程
$ pm2 restart 0
重啓指定的進程
$ pm2 startup
產生 init 腳本 保持進程活着
$ pm2 web
啓動web進程
$ pm2 delete 0
殺死指定的進程
$ pm2 delete all
殺死全部進程
啓動進程的方式詳細:
$ pm2 start app.js -i max
根據有效CPU數目啓動最大進程數目
$ pm2 start app.js -i 3
啓動3個進程
$ pm2 start app.js -x
用fork模式啓動 app.js 而不是使用 cluster
$ pm2 start app.js -x -- -a 23
用fork模式啓動 app.js 並且傳遞參數 (-a 23)
$ pm2 start app.js --name serverone
啓動一個進程並把它命名爲 serverone
$ pm2 stop serverone
停止 serverone 進程
$ pm2 start app.json
啓動進程, 在 app.json裏設置選項
$ pm2 start app.js -i max -- -a 23
在--之後給 app.js 傳遞參數
$ pm2 start app.js -i max -e err.log -o out.log
啓動 並 生成一個配置文件