-
Notifications
You must be signed in to change notification settings - Fork 0
/
pm2.config.js
60 lines (58 loc) · 1.6 KB
/
pm2.config.js
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
const $HOME = require('os').homedir()
const dr = process.argv.includes('--env') && process.argv.includes('dr')
const prd = process.argv.includes('--env') && process.argv.includes('prd')
const test = process.argv.includes('--env') && process.argv.includes('test')
const dev = !process.argv.includes('--env')
module.exports = (function () {
/**
* Application configuration section
* http://pm2.keymetrics.io/docs/usage/application-declaration/
*/
return {
apps: [
{ // application
name: 'main-app',
script: './bin/start.js',
cwd: './', // 当前工作路径
max_memory_restart: '500M',
instances: dev && 1 || test && 2 || (prd || dr) && 4,
exec_mode: 'cluster',
log: `${$HOME}/app-logs/outerr.log`,
merge_logs: true,
log_date_format: 'YYYY-MM-DD HH:mm:ss Z',
source_map_support: true,
min_uptime: '1540s',
max_restarts: 5,
restartDelay: 3000,
cron_restart: '59 4 * * 1',
watch: [ // 监控变化的目录,一旦变化,自动重启
'public',
'bin',
'src'
],
ignore_watch: [ // 从监控目录中排除
'test',
'views',
'node_modules',
'logs'
],
env: {
NODE_ENV: 'development',
PORT: '7709'
},
env_test: {
NODE_ENV: 'test',
PORT: '7709'
},
env_prd: {
NODE_ENV: 'production',
PORT: '7709'
},
env_dr: {
NODE_ENV: 'dr',
PORT: '7709'
}
}
]
}
})()