ecosystem.config

ecosystem.config.js

module.exports = {
  apps : [{
    name      : 'TOB_NODE',
    script    : 'app.js',
    // 开发环境变量
    env: {
      NODE_ENV: 'development'
    },
    // 测试环境变量
    env_testing: {
      NODE_ENV: 'testing'
    },
    // 生产环境变量
    env_production : {
      NODE_ENV: 'production'
    },

    // 实例个数
    instances: 2,
    // 集群模式
    exec_mode: 'cluster',

    // 完整日志路径
    output: '/opt/log/tob/node/output.log',
    // 错误日志路径
    error: '/opt/log/tob/node/error.log',
    // 访问日志路径
    log: '/opt/log/tob/node/tob-log.log',
    // 日志格式
    log_type: 'json',
    // 合并日志
    merge_logs: true,
    // 日志日期格式
    log_date_format: 'YYYY-MM-DD HH:mm:ss'
  }]
};

配置项

name 应用进程名称;

script 启动脚本路径;

cwd 应用启动的路径,关于script与cwd的区别举例说明:在/home/polo/目录下运行/data/release/node/index.js,此处script为/data/release/node/index.js,cwd为/home/polo/;

args 传递给脚本的参数;

interpreter 指定的脚本解释器;

interpreter_args 传递给解释器的参数;

instances 应用启动实例个数,仅在cluster模式有效,默认为fork;

exec_mode 应用启动模式,支持fork和cluster模式;

watch 监听重启,启用情况下,文件夹或子文件夹下变化应用自动重启;

ignore_watch 忽略监听的文件夹,支持正则表达式;

max_memory_restart 最大内存限制数,超出自动重启;

env 环境变量,object类型,如{"NODE_ENV":"production", "ID": "42"};

log_date_format 指定日志日期格式,如YYYY-MM-DD HH:mm:ss;

error_file 记录标准错误流,$HOME/.pm2/logs/XXXerr.log),代码错误可在此文件查找;

out_file 记录标准输出流,$HOME/.pm2/logs/XXXout.log),如应用打印大量的标准输出,会导致pm2日志过大;

min_uptime 应用运行少于时间被认为是异常启动;

max_restarts 最大异常重启次数,即小于min_uptime运行时间重启次数;

autorestart 默认为true, 发生异常的情况下自动重启;

cron_restart crontab时间格式重启应用,目前只支持cluster模式;

force 默认false,如果true,可以重复启动一个脚本。pm2不建议这么做;

restart_delay 异常重启情况下,延时重启时间;

原文地址:https://www.cnblogs.com/qiqi715/p/11560787.html