如何将NODE_ENV = production传递给pm2?

时间:2018-05-14 18:15:28

标签: node.js pm2

我已部署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仍会加载开发配置。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:7)

您可能面临这种情况的原因是因为您已经pm2启动了development一次。现在它将使用该env直到你kill。遵循这些步骤应该有所帮助

  1. ./node_modules/.bin/pm2 kill
  2. NODE_ENV=production ./node_modules/.bin/pm2 start server.js
  3. 您也可以使用--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