pm2部署node專案
阿新 • • 發佈:2018-11-09
安裝:
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" } }] }