# 配置
在系统根目录下建一个 pm2.conf.json的文件
{
"apps": {
"name": "weibo",
"script": "bin/www",
"watch": true,
"ignore_watch": [
"node_modules",
"logs",
"uploadFiles"
],
"instances": 4,
"error_file": "./logs/err.log",
"out_file": "./logs/out.log",
"log_date_format": "YYYY-MM-DD HH:mm:ss"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name 在pm2 list 下的名称
watch 文件变化自动重启
instances 进程数量,一般电脑几核的就写几
log_date_format 日志日期记录格式
刚刚的启动命令我要改一下,需要指定配置文件
"prd": "cross-env NODE_ENV=production pm2 start pm2.conf.json",
1
# 配置文件示例(实际使用自行删除)
{
apps : [{
name : 'API', //应用名
script : 'app.js', //应用文件位置
env: {
PM2_SERVE_PATH: ".", //静态服务路径
PM2_SERVE_PORT: 8080, //静态服务器访问端口
NODE_ENV: 'development' //启动默认模式
},
env_production : {
NODE_ENV: 'production' //使用production模式 pm2 start ecosystem.config.js --env production
},
instances:"max", //将应用程序分布在所有CPU核心上,可以是整数或负数
watch:true, //监听模式
output: './out.log', //指定日志标准输出文件及位置
error: './error.log', //错误输出日志文件及位置,pm2 install pm2-logrotate进行日志文件拆分
merge_logs: true, //集群情况下,可以合并日志
log_type:"json", //日志类型
log_date_format: "DD-MM-YYYY", //日志日期记录格式
}],
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' //部署后的动作
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31