PM2 簡單使用,守護node進程
簡介
PM2是node進程管理工具,可以利用它來簡化很多node應用管理的繁瑣任務,如性能監控、自動重啟、負載均衡等,而且使用非常簡單。
下面就對PM2進行入門性的介紹,基本涵蓋了PM2的常用的功能和配置。
node項目線上環境需求
1、服務器穩定性;
2、充分利用服務器硬件資源,提高性能;
3、線上日誌記錄;
PM2功能
1、進程守護,系統奔潰自動重啟;
2、啟動多進程,充分利用cpu和內存;
3、自帶日誌記錄功能;
運行項目
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特性(版本控制)
基本使用
PM2 項目啟動,但是無法訪問:
pm2 kill 殺死所有進程,重新啟動
1、操作系統限制了單個進程的的大小,node在32位系統占用1.6內存,當個進程是受限制;
2、壹個進程奔潰了,其他進程不受影響
3、無法充分利用硬件資源;
多進程之間內存無法***享
利用redis對多進程進行***享數據
pm2官網: https://pm2.keymetrics.io/