我已部署this node app并且NODE_ENV=production yarn start
正常运行。
我可以使用
妖魔化应用程序 pm2 start npm -- start
但是它默认为NODE_ENV=development
config。
当我使用
时 pm2 start npm -- start NODE_ENV=production
它仍以development
配置开头。
我也尝试使用process.yml
文件传递env
apps:
- script : index.js
watch: true
instances: 4
env :
NODE_ENV: production
但pm2 start npm -- start process.yml
仍会加载开发配置。
我该如何解决这个问题?
答案 0 :(得分:7)
您可能面临这种情况的原因是因为您已经pm2
启动了development
一次。现在它将使用该env直到你kill
。遵循这些步骤应该有所帮助
./node_modules/.bin/pm2 kill
NODE_ENV=production ./node_modules/.bin/pm2 start server.js
您也可以使用--update-env
。来自official docs
默认情况下,我们希望PM2不会改变过程环境 重新启动或重新加载,因此它们是不可变的。如果你想更新 他们,你必须使用--update-env:
答案 1 :(得分:1)
试试这个: export NODE_ENV=production&&pm2 start server.js
答案 2 :(得分:0)
export NODE_ENV=production && pm2 start ecosystem.config.js
以下内容帮助了我!感谢 #mehdi parastar 和 #abhinavd