pm2设置NODE_ENV环境变量

  • 分类:【Nodejs
  • 浏览【1353】
  • 评论【0】
  • 更新【2018-3-02 11:25:51】

nodejs中经常使用到环境变量,最常见的如:process.env.NODE_ENV,可以配置环境变量,可以临时设置

*nix:export NODE_ENV=development&& node app.js win:set NODE_ENV=development&& node app.js

一般是作临时变量在系统启动时设置,不影响其他系统,也可同时运行开发环境和生产环境,只需要根据process.env.NODE_ENV来运行不同逻辑即可,而设置环境变量在pm2中可以轻松实现

pm2 start pm2.json --env production

--env production参数是为了设置环境变量,由pm2.json中的配置决定设置什么样的环境变量

//pm2.json
{
  "apps" : [{
    "name": "issue",
    "cwd": "dest",
    "script"    : "bin/www.js",
    "instances" : "2",
    "exec_mode" : "cluster",
    "env": {
      "NODE_ENV": "development",
      "PORT": 3002
    },
    "env_production" : {
       "NODE_ENV": "production",
       "PORT": 3003
    },
    "log_date_format": "YYYY-MM-DD_HH:mm Z",
    "merge_logs": true
  }]
}

如果不加参数则默认使用

"env": {
    "NODE_ENV": "development",
    "PORT": 3002
}

结果:NODE_ENV=development,PORT=3002

--env production则使用的是

"env_production" : {
    "NODE_ENV": "production",
    "PORT": 3003
}

结果:NODE_ENV=production,PORT=3003

关键字词:pm2,NODE_ENV,环境变量