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" //日期格式
}]
}
.