M2 是帶有內置負載平衡器的 Node.js 應用程序的生產過程管理器。可以利用它來簡化很多 Node 應用管理的繁瑣任務,如性能監控、自動重啟、負載均衡等。
安裝部署
1、我們一般會把 pm2 安裝到全局:
npm install pm2 -g
2、安裝windows自啟動包:
npm install pm2-windows-startup -g
3、創建開機啟動腳本文件:
pm2-startup install
注意:並不是到第3步就可以了,需要4、5步操作完,開機啟動才有效。
4、使用pm2啟用項目:
pm2 start 路徑 --name 名稱
例如:pm2 start ./app.js –name xsx
5、保存pm2中的項目:
pm2 save
注意:pm2 save很重要, 它保存當前 pm2 正在管理的 NodeJS 服務, 並在開機后恢復這些服務。
重啟電腦可以查看( 以表格顯示 ):
pm2 ls
如果要卸載
服務,執行:
pm2-service-uninstall
常用命令
pm2 的服務都有一個數字 id,你可以用 id 快速操作它。下面以編號為 0 的服務為例(當然,把 id 換為應用名也是一樣的):
pm2 start # 啟動一個服務,攜帶 --name 參數添加一個應用名,攜帶參數 --watch 將觀察修改重啟服務
pm2 list # 列出當前的服務
pm2 monit # 監視每個node進程的CPU和內存的使用情況
pm2 stop 0 # 停止服務
pm2 stop all # 停止所有服務進程
pm2 restart 0 # 重啟服務
pm2 restart all # 重啟所有進程
pm2 delete 0 # 刪除服務
pm2 delete all # 刪除全部服務
pm2 logs # 查看所有服務的輸出日志
pm2 logs 0 # 查看服務的輸出日志
更詳細用法請看:https://github.com/Unitech/pm2
擴展閱讀
pm2 以 windows 服務運行
通過上面 pm2-windows-startup
的方式【推薦】,我們在windows 服務里面是找不到 pm2 相關服務的,它是基於 start-on-windows-boot 在注冊表中將 PM2 設為自啟動程序,從而實現自啟動。
而 pm2-windows-service
基於 node-windows 將 PM2 注冊為 Windows 服務。
兩種方案經測試,只有 pm2-windows-startup 在 Windows Server 2012 上可行,故選擇 pm2-windows-startup 作為解決 Node.js 應用開機自啟動的方案。
所以,這里只順帶說說 pm2 以 windows 服務運行的操作步驟:
1、npm i pm2 -g
2、npm i pm2-windows-service -g
3、安裝服務:pm2-service-install -n myservice (安裝后在windows服務中多了一個myservice的服務)
卸載命令:pm2-service-uninstall
4、設置環境變量:PM2_SERVICE_SCRIPTS = PM2 的配置文件
5、windows 服務中重新啟動 myservice 服務