本文**自:豆瓣-pm2介紹
pm2 是乙個帶有負載均衡功能的node應用的程序管理器.
當你要把你的獨立**利用全部的伺服器上的所有cpu,並保證程序永遠都活著,0秒的過載, pm2是完美的。它非常適合iaas結構,但不要把它用於paas方案(隨後將開發paas的解決方案).
備註:
saas、paas和iaas是雲服務模式。
saas 軟體即服務,例如google的 gmail 郵箱服務.面向應用型使用者.
paas 平台即服務.例如google的gae,面向開發型使用者
iaas 基礎架構即服務,例如亞馬遜的aws,iaas對於不知道新推出的應用程式/**會有多成功的創業公司來說非常有用
請參考 雲服務模式:saas、paas和iaas,哪一種適合你?
主要特性:
* 內建負載均衡(使用node cluster 集群模組)
* 後台執行
* 0秒停機過載,我理解大概意思是維護公升級的時候不需要停機.
* 具有ubuntu和centos 的啟動指令碼
* 停止不穩定的程序(避免無限迴圈)
* 控制台檢測
* 提供 http api
* 遠端控制和實時的介面api ( nodejs 模組,允許和pm2程序管理器互動 )
安裝 npm install -g pm2
用法
$ npm install pm2 -g # 命令列安裝 pm2# 也可以把'max'引數傳遞給 start
# 正確的程序數目依賴於cpu的核心數目
$ pm2 list # 顯示所有程序狀態
$ pm2 monit # 監視所有程序
$ pm2 logs # 顯示所有程序日誌
$ pm2 stop all # 停止所有程序
$ pm2 restart all # 重啟所有程序
$ pm2 reload all # 0秒停機過載程序 (用於 networked 程序)
$ pm2 stop 0# 停止指定的程序
$ pm2 restart 0# 重啟指定的程序
$ pm2 startup # 產生 init 指令碼 保持程序活著
$ pm2 web # 執行健壯的 computer api endpoint (http:
//localhost:9615)
$ pm2 delete 0# 殺死指定的程序
$ pm2
delete all # 殺死全部程序
執行程序的不同方式:
$ pm2 stop serverone # 停止 serverone 程序
$ pm2 start my-bash-script.sh -x --interpreter bash
$ pm2 start my-python-script.py -x --interpreter python
0秒停機過載:這項功能允許你重新載入**而不用失去請求連線。
注意:
僅能用於web應用
執行於node 0.11.x版本
執行於 cluster 模式(預設模式)
$ pm2 reload all
我的專案啟動(前提定位到專案根目錄執行命令):
pm2 start ./bin/www -i 0 --name 'api'
使用pm2應用管理node程序
node.js 是單程序,程序被關掉後整個服務就無法開啟,此時可以使用程序管理工具。pm2是乙個程序管理工具,可以用它來管理你的node程序,並檢視node程序的狀態,當然也支援效能監控,程序守護,負載均衡等功能 特性 安裝 需要node環境 npm i pm2 g執行 pm2 stop serve...
使用pm2管理node程序
pm2是node程序的乙個管理工具 在linux使用是比較穩定的,在windows上好像有問題,最好使用forever代替 npm install pm2 g name引數為應用名稱,i為例項數量 會負載均衡 log date format為日誌時間格式 是moment的日期格式化 pm2 list...
程序管理PM2
1 pm2 需要全域性安裝 npm install g pm2 cwd 應用程式所在的目錄 script 應用程式的指令碼路徑 log date format 日誌檔名輸出日期格式 yyyy mm dd hh mm z max restarts 設定應用程式異常退出重啟的次數,預設 15 次 從 0...