1.命令生產默認示例配置文件pm2 ecosystem或pm2 init,運行默認會生成ecosystem.config.js配置文件
module.exports = { apps: [ { name: 'back-Api', //應用名 script: './server/start.js', //應用文件位置 env: { PM2_SERVE_PATH: "./apidoc", //靜態服務路徑 PM2_SERVE_PORT: 8080, //靜態服務器訪問端口 NODE_ENV: 'development' //啟動默認模式 }, env_production: { NODE_ENV: 'production' //使用production模式 pm2 start ecosystem.config.js --env production }, instances: "max", //將應用程序分布在所有CPU核心上,可以是整數或負數 instance_var: "INSTANCE_ID", exec_mode: "cluster", watch: [ "server", ], //監聽模式,不能單純的設置為true,易導致無限重啟,因為日志文件在變化,需要排除對其的監聽 merge_logs: true, //集群情況下,可以合並日志 } ], deploy: { production: { user: 'node', //ssh 用戶 host: '212.83.163.1', //ssh 地址 ref: 'origin/master', //GIT遠程/分支 repo: 'git@github.com:repo.git', //git地址 path: '/var/www/production', //服務器文件路徑 "post-deploy": 'npm install && pm2 reload ecosystem.config.js --env production' //部署后的動作 } } };
2.自定義json配置文件如:processes.json;啟動pm2 start processes.json
{ "apps": [{ "name": "app", //名稱 "script": "./", //程序入口 "cwd": "./", //根目錄 "watch": [ "views" ],//需要監控的目錄 "error_file": "./logs/err.log",//錯誤輸出日志 "out_file": "./logs/out.log", //日志 "log_date_format": "YYYY-MM-DD HH:mm Z" //日期格式 }] }
.