pm2设置NODE_ENV环境变量
nodejs中经常使用到环境变量,最常见的如:process.env.NODE_ENV
。那么在生产环境中使用pm2如何设置环境变量?
设置方式一:shell命令设置
linux: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