1、概述javascript
PM2是一個帶有負載均衡功能的Node.js應用的進程管理器。它容許你永遠保持應用的存活,從新加載無需停機java
2、安裝PM2git
$ npm install pm2 -g
注:須要安裝Node.js、npmnpm
3、啓動Node.js應用json
$ pm2 start app.js
4、更新PM2api
$ pm2 update
5、主要特色bash
一、命令概述服務器
# 經常使用 $ npm install pm2 -g # 安裝 PM2 $ pm2 start app.js # 啓動 守護進程 而且 重啓應用 (Node) $ pm2 start app.py # 啓動 守護進程 而且 重啓應用 (Python) $ pm2 start npm -- start # 啓動 守護進程 而且 重啓應用 # 集羣模式 (僅限Node.js) $ pm2 start app.js -i 4 # 在集羣模式下啓動4個應用實例 # 它將加載平衡網絡查詢到每一個應用程序 $ pm2 reload all # 0 秒停機從新加載 $ pm2 scale [app-name] 10 # 擴展 10個進程到集羣中 # 進程監控 $ pm2 list # 使用PM2列出全部的過程 $ pm2 monit # 顯示應用程序的內存和CPU的使用狀況 $ pm2 show [app-name] # 顯示[app-name]應用程序的信息 # 日誌管理 $ pm2 logs # 顯示全部應用程序的日誌 $ pm2 logs [app-name] # 顯示特定應用程序的日誌 $ pm2 logs --json # JSON格式的日誌 $ pm2 flush $ pm2 reloadLogs # 過程狀態管理 $ pm2 start app.js --name="api" # 啓動應用程序並命名它爲「api」 $ pm2 start app.js -- -a 34 # 啓動應用程序和傳遞選項「-a 34」做爲參數 $ pm2 start app.js --watch # 監控文件變化並重啓 $ pm2 start script.sh # 啓動bash腳本 $ pm2 start app.json # 經過配置文件啓動應用 $ pm2 reset [app-name] # 重置全部計數器 $ pm2 stop all # 中止全部的應用程序 $ pm2 stop 0 # 中止進程id爲0的應用 $ pm2 restart all # 從新啓動全部的應用程序 $ pm2 gracefulReload all # 在集羣模式下優雅重載全部應用程序 $ pm2 delete all # 殺死和刪除全部應用程序 $ pm2 delete 0 # 殺死進程id爲0的應用 # 啓動/啓動管理 $ pm2 startup # 檢測系統初始化,生成和啓動配置PM2 boot $ pm2 save # 保存當前進程列表 $ pm2 resurrect # 恢復之前保存進程 $ pm2 unstartup # 禁用和刪除啓動系統 $ pm2 update # 保存進程, 殺死 PM2 並 恢復進程 $ pm2 generate # 生成JSON配置文件示例 # 部署 $ pm2 deploy app.json prod setup # 設置 "prod" 遠程服務器 $ pm2 deploy app.json prod # 更新 "prod" 遠程服務器 $ pm2 deploy app.json prod revert 2 # 回覆2 "prod" 遠程服務器 # 系統模塊 $ pm2 module:generate [name] # 以[name]生成示例模塊 $ pm2 install pm2-logrotate # 安裝模塊(這裏有一個日誌輪換系統) $ pm2 uninstall pm2-logrotate # 卸載模塊 $ pm2 publish # 增長版本號,git push和NPM發佈
二、進程管理器網絡
1)、pm2 listapp
2)、pm2 monit