1. 程式人生 > >pm2部署node專案

pm2部署node專案

安裝:

npm install pm2 -g

更新:

pm2 update

 pm2命令:

啟動express專案命令:

pm2 start ./bin/www

列印日誌:

pm2 logs

實時更新程式碼,不重啟伺服器,類似於熱更新:watch起的作用(pm2 delete **.json &&  pm2 start **.json --env local)

靈活啟動對應檔案,載入對應環境程式碼(一)

{
  "apps": [{
    "name": "電子簽約", 
    "script": "./bin/www", 
    "cwd": "./",
    "watch": [
      "bin",
      "lib",
      "public",
      "routes",
      "views"
    ],
    "log_date_format": "YYYY-MM-DD HH:mm Z",
    "error_file":"/data/logs/electronic-err.log",
    "out_file":"/data/logs/electronic-out.log", 
    "env": {
      "NODE_ENV": "preview"
    }
  }]
}

//env裡面可以配置自己想要的變數,例如:介面IP等
NODE_ENV這塊可以根據json檔案的不同設定不同的引數,例如test、preview等

啟動命令:pm2 start processes.json  對應相應的json檔案

 通過命令啟動對應環境,環境變數:

啟動命令:pm2 start ****.json --env local

{
  "apps": [{
    "name": "electronic",
    "script": "./bin/www",
    "cwd": "./",
    "watch": [
      "bin",
      "lib",
      "public",
      "routes",
      "views"
    ],
    "log_date_format": "YYYY-MM-DD HH:mm Z",
    "error_file": "/data/logs/electronic-err.log",
    "out_file": "/data/logs/electronic-out.log",
    "env_local": {
      "NODE_ENV": "local"
    },
    "env_test": {
      "NODE_ENV": "test"
    },
    "env_preview": {
      "NODE_ENV": "preview"
    },
    "env_product": {
      "NODE_ENV": "product"
    }
  }]
}