pm2 start命令中的json格式詳解


pm2 start npm -- start這條命令是pm2的萬能命令,pm2 start <json>,就是這一系列命令中的最豪華命令。這個json我們可以理解為一個任務參數描述文件。通過這個json文件,我們把在命令行里面不好描述的各種參數放到一個json文件里面來。

pm2 start <json>.json

自定義啟動文件,創建一個test.json的示例文件,格式如下:

{ "apps":[ { "name": "test", "cwd": "/data/wwwroot/nodejs", "script": "./test.sh", "exec_interpreter": "bash", "min_uptime": "60s", "max_restarts": 30, "exec_mode" : "cluster_mode", "error_file" : "./test-err.log", "out_file": "./test-out.log", "pid_file": "./test.pid"
      "watch": false } ]}

參數說明:

  • apps:json結構,apps是一個數組,每一個數組成員就是對應一個pm2中運行的應用
  • name:應用程序的名稱
  • cwd:應用程序所在的目錄
  • script:應用程序的腳本路徑
  • exec_interpreter:應用程序的腳本類型,這里使用的shell,默認是nodejs
  • min_uptime:最小運行時間,這里設置的是60s即如果應用程序在60s內退出,pm2會認為程序異常退出,此時觸發重啟max_restarts設置數量
  • max_restarts:設置應用程序異常退出重啟的次數,默認15次(從0開始計數)
  • exec_mode:應用程序啟動模式,這里設置的是cluster_mode(集群),默認是fork
  • error_file:自定義應用程序的錯誤日志文件
  • out_file:自定義應用程序日志文件
  • pid_file:自定義應用程序的pid文件
  • watch:是否啟用監控模式,默認是false。如果設置成true,當應用程序變動時,pm2會自動重載。這里也可以設置你要監控的文件。

運行實例:已上面的test.json為例

pm2 start test.json

最精簡版本

{ "name": "manage",      //項目名稱
    "script": "./bin/www", //要執行的腳本
    "cwd":"./",            //項目所在目錄
}

設置文件監控版本,文件變動,就重啟服務

{ "name": "manage",      //項目名稱
    "script": "./bin/www", //要執行的腳本
    "cwd":"./",            //項目所在目錄
    "watch":[  //添加受監控的文件,以便自動更新
        "models", "routes" ], "ignore_watch" : [  //不監視的文件
        "node_modules", "client/img" ], "watch_options": {  //監視配置,具體見 http://pm2.keymetrics.io/docs/usage/watch-and-restart/
      "followSymlinks": false } }

設置log位置

{ "name": "manage",      //項目名稱
    "script": "./bin/www", //要執行的腳本
    "cwd":"./",            //項目所在目錄
    "log_file": "<yourpath>/combined.outerr.log", "out_file": "<yourpath>/out.log", "error_file": "<yourpath>/err.log", }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM