使用pm2後台執行nodejs程式

2021-10-17 03:14:06 字數 1954 閱讀 7555

部署nodejs專案的有forever,pm2這兩種方式,我們今天介紹pm2。

內建負載均衡(使用node cluster 集群模組)

後台執行

0秒停機過載,我理解大概意思是維護公升級的時候不需要停機.

具有ubuntu和centos 的啟動指令碼

停止不穩定的程序(避免無限迴圈)

控制台檢測

提供 http api

遠端控制和實時的介面api ( nodejs 模組,允許和pm2程序管理器互動

npm install -g pm2
$ 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 執行健壯的 computer api endpoint (http://localhost:9615)

$ pm2 delete 0 殺死指定的程序

$ pm2 delete all 殺死全部程序

啟動程序的方式詳細:

$ pm2 stop serverone 停止 serverone 程序

配置pm2啟動檔案:

可以通過pm2 start processes.json來啟動。

在專案根目錄下新增檔案processes.json:

]}

processes.json說明:

name: 應用程式名稱

cwd: 應用程式所在的目錄

script: 應用程式的指令碼路徑

log_date_format:

error_file: 自定義應用程式的錯誤日誌檔案

out_file: 自定義應用程式日誌檔案

pid_file: 自定義應用程式的pid檔案

instances:

min_uptime: 最小執行時間,這裡設定的是60s即如果應用程式在60s內退出,pm2會認為程式異常退出,此時觸發重啟max_restarts設定數量

max_restarts: 設定應用程式異常退出重啟的次數,預設15次(從0開始計數)

cron_restart: 定時啟動,解決重啟能解決的問題

watch: 是否啟用監控模式,預設是false。如果設定成true,當應用程式變動時,pm2會自動過載。這裡也可以設定你要監控的檔案。

merge_logs:

exec_interpreter: 應用程式的指令碼型別,這裡使用的shell,預設是nodejs

exec_mode: 應用程式啟動模式,這裡設定的是cluster_mode(集群),預設是fork

autorestart: 啟用/禁用應用程式崩潰或退出時自動重啟

vizion: 啟用/禁用vizion特性(版本控制)

也可以把啟動命令寫在package.json裡:

"scripts": ,
本文整理自其它部落格。

使用pm2管理nodejs應用

pm2是乙個node.js的程序管理器,因為nodejs的單程序特性,儲存程序不死掉,自動過載是十分重要的,目前只支援liunx平台 1.安裝pm2 前提安裝了node.js npm install pm2 g 2.用pm2啟動nodejs應用 每乙個應用取乙個應用名稱,不要用系統自己分配應用名稱 ...

使用pm2離線部署nodejs專案

比如安裝到 opt目錄 xz d node v8.11.1 linux x64.tar.xz 解壓 tar vxf node v8.11.1 linux x64.tar 解壓 ln s opt node v8.11.1 linux x64 bin node usr local bin node 建立...

nodejs的PM2程序管理

pm2 node.js程序管理工具 npm i pm2 g 守護程序 服務掛掉後自動重啟 多程序 更好的裡有cpu和記憶體 pm2使用 啟動服務 在package.json的scripts中新增 prd cross env node env production pm2 start bin www ...