Node應用程序管理器pm2的使用

2022-04-05 01:21:18 字數 1776 閱讀 3570

本文**自:豆瓣-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...