PM2進程管理器

pm2 是一個帶有負載均衡功能的Node應用的進程管理器。

一、概述

PM2是一個帶有負載均衡功能的Node.js應用的進程管理器。它允許你永遠保持應用的存活,重新加載無需停機。

二、安裝PM2

$ npm install pm2 -g

注:需要安裝Node.js、npm

三、啟動Node.js應用

$ pm2 start app.js

四、更新PM2

$ pm2 update

五、主要特點

1、命令概述
# 常用
$ 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發布
2、進程管理器
pm2 list
image.png
pm2 monit

https://static.oschina.net/uploads/space/2017/0222/163300_aHGM_1251467.png

想了解更多的知識,可以查閱官方網站 http://pm2.keymetrics.io/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容