要在生产模式下启动sailsjs,您需要附加--prod
.
跑:
node app.js --prod
我正在使用 PM2 和一个简单的 json 文件进行设置,其中包含进程名称和脚本名称,以启动节点进程。
我将如何使用 PM2 传递生产参数?
阅读PM2 JSON 应用声明。例如(未测试)
[{
"name" : "Sails",
"script" : "./app.js",
"args" : "['--prod']"
}]
首先删除:
pm2 delete app
再次:
pm2 start app.js -x -- --prod
你也可以使用这样的东西:
NODE_ENV=production pm2 start app.js
根据官方文档,您可以这样做:
pm2 start app.js -x --prod
对于 pm2,如果您已经创建了应该在第一个过程中根据此 官方文档创建的生态系统.config.js 。默认情况下,它会考虑开发模式,如果要更改,请先使用以下命令删除以前的实例。
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 文档中提到的其他参数。希望这可以帮助。
1.
NODE_ENV=production pm2 start app.js -- --prod
2.
NODE_ENV=production pm2 start app.js --name "myapp" -i max -- --prod