pm2

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

當你要把你的獨立代碼利用全部的服務器上的所有CPU,並保證進程永遠都活着,0秒的重載, PM2是完美的。它非常適合IaaS結構


用法

$ npm install pm2 -g # 命令行安裝 pm2
$ pm2 start app.js -i 4 #後臺運行pm2,啓動4個app.js
                                # 也可以把'max' 參數傳遞給 start 開啓最多app
                                # 正確的進程數目依賴於Cpu的核心數目
$ pm2 start app.js --name my-api # 命名進程
$ pm2 list # 顯示所有進程狀態
$ pm2 monit # 監視所有進程
$ 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 start app.js -i max    # 根據有效CPU數目啓動最大進程數目
$ pm2 start app.js -i 3      # 啓動3個進程
$ pm2 start app.js -x        #用fork模式啓動 app.js 而不是使用 cluster
$ pm2 start app.js -x -- -a 23   # 用fork模式啓動 app.js 並且傳遞參數 (-a 23)
$ pm2 start app.js --name serverone  # 啓動一個進程並把它命名爲 serverone
$ pm2 stop serverone       # 停止 serverone 進程
$ pm2 start app.json        # 啓動進程, 在 app.json裏設置選項
$ pm2 start app.js -i max -- -a 23                   #在--之後給 app.js 傳遞參數
$ pm2 start app.js -i max -e err.log -o out.log  # 啓動 並 生成一個配置文件
你也可以執行用其他語言編寫的app  ( fork 模式):
$ pm2 start my-bash-script.sh    -x --interpreter bash
$ pm2 start my-python-script.py -x --interpreter python
  1. 0 秒停機重載:這項功能允許你重新載入代碼而不用失去請求連接。

發佈了152 篇原創文章 · 獲贊 4 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章