# 配置文件

官网 https://pm2.keymetrics.io/docs/usage/pm2-doc-single-page/ (opens new window)

PM2 empowers your process management workflow. It allows you to fine-tune the behavior, options, environment variables, logs files of each application via a process file. It’s particularly useful for micro-service based applications.

Configuration format supported are Javascript, JSON and YAML.

To generate a sample process file you can type this command:

# 1. Javascript 方式

# 生成

pm2 ecosystem
1

# ecosystem.config.js:

module.exports = {
  apps : [{
    name        : "worker-app",
    script      : "./worker.js",
    watch       : true,
    env: {
      "NODE_ENV": "development",
    },
    env_production : {
       "NODE_ENV": "production"
    }
  },{
    name       : "api-app",
    script     : "./api.js",
    instances  : 4,
    exec_mode  : "cluster"
  }]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 使用

$ pm2 [start|restart|stop|delete] ecosystem.config.js

# Start all applications
$ pm2 start ecosystem.config.js

# Start only the app named worker-app
$ pm2 start ecosystem.config.js --only worker-app

# Stop all
$ pm2 stop ecosystem.config.js

# Restart all
$ pm2 start   ecosystem.config.js
## Or
$ pm2 restart ecosystem.config.js

# Reload all
$ pm2 reload ecosystem.config.js

# Delete all
$ pm2 delete ecosystem.config.js

# Act on a specific process
pm2 start   ecosystem.config.js --only api-app
pm2 restart ecosystem.config.js --only api-app
pm2 reload  ecosystem.config.js --only api-app
pm2 delete  ecosystem.config.js --only api-app
pm2 start ecosystem.config.js --only "api-app,worker-app"

# Switching environments
## Inject what is declared in env_production
pm2 start process.json --env production

## Inject what is declared in env_staging
pm2 restart process.json --env staging

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

# 2. JSON 方式

更新时间: 2021-05-06 12:34:59