【发布时间】:2014-05-28 03:35:36
【问题描述】:
要在生产模式下启动sailsjs,请附加--prod。
运行:
node app.js --prod
我正在使用 PM2 和一个简单的 json 文件进行设置,其中包含进程名称和脚本名称,以启动节点进程。
如何使用 PM2 传递生产参数?
【问题讨论】:
要在生产模式下启动sailsjs,请附加--prod。
运行:
node app.js --prod
我正在使用 PM2 和一个简单的 json 文件进行设置,其中包含进程名称和脚本名称,以启动节点进程。
如何使用 PM2 传递生产参数?
【问题讨论】:
阅读PM2 JSON app declaration。例如。 (未测试)
[{
"name" : "Sails",
"script" : "./app.js",
"args" : "['--prod']"
}]
【讨论】:
你也可以这样使用:
NODE_ENV=production pm2 start app.js
【讨论】:
根据official document,你可以这样做:
pm2 start app.js -x --prod
【讨论】:
首先删除:
pm2 delete app
再次:
pm2 start app.js -x -- --prod
【讨论】:
对于 pm2,如果您创建了 ecosystem.config.js,您应该根据 official document 在第一个进程中创建它。默认情况下会考虑开发模式,如果要更改,请先使用以下命令删除以前的实例。
pm2 delete <ID|APP_NAME|SCRIPT|ALL|JSON>
然后您使用以下命令启动实例。
pm2 start ecosystem.config.js --env production
并使用以下命令检查进程尾部 pm2 的日志。
pm2 logs
【讨论】:
这是我的 PM2 配置文件,我在 PM2 下运行了多个服务,如下所示,apps.json
{
"apps": [
{
"name" : "TEST_APP",
"script" : "./app.js",
"cwd" : "/Users/username/app",
"merge_logs" : true,
"out_file" : "logs/pm2-out.log",
"error_file" : "logs/pm2-err.log",
"instances" : 3,
"exec_mode" : "cluster",
"env" : {
"NODE_ENV": "dev",
"PORT": "9999"
},
"env_production": {
"NODE_ENV": "production",
"PORT": 9998
}
}
]
}
$ pm2 start apps.json --env production
您可以在此处包含PM2 docs 中提到的其他参数。希望这可以帮助。
【讨论】:
1.
NODE_ENV=production pm2 start app.js -- --prod
2.
NODE_ENV=production pm2 start app.js --name "myapp" -i max -- --prod
【讨论】: