【问题标题】:run two instance of same app with different config file at same machine is it possible?在同一台机器上运行具有不同配置文件的同一应用程序的两个实例是否可能?
【发布时间】:2019-11-09 07:52:48
【问题描述】:

我有一个带有 mongodb 数据库的 node.js 应用程序,所以我想同时运行一个应用程序的两个实例。一个关于生产,一个关于开发。那么是否可以在应用的不同实例上设置不同的 NODE_ENV。

【问题讨论】:

    标签: node.js config


    【解决方案1】:

    我认为您的要求可以通过以下方式实现:

    NODE_ENV=development node server.js
    

    您可以在开发中运行一个实例,在生产中运行第二个实例。

    【讨论】:

    • 是每个进程或每个平台的环境变量
    • 我的意思是,如果我将 NODE_ENV 更改为开发,它对第一个应用程序实例的 NODE_ENV 有任何影响
    • 不会对对方没有影响。
    • 我正在使用 pm2。在 pm2 配置文件中,我应该硬化 env 变量。你能帮我吗
    • 对于 pm2,您提供了像这样运行的环境 pm2 start app.json --env dev 其中 app.json 是进程文件
    【解决方案2】:

    通过 .gitignore 使用 .env 文件,如果您将在两个实例中拉取它不会在您的实例中传输,您将在您的项目中创建 .env,那么这两个项目将有所不同。

    .env 文件用于生产

    db = mongodb://XX.XXX.XX.XX/zXp
    IAM_USER_SECRET = 06VXXXXXXXXXXXXXXXXXXXXXXRzC
    NODE_ENV = production
    

    .env 开发文件

    db = mongodb://XX.XXX.XX.XX/zXp
    IAM_USER_SECRET = 06VXXXXXXXXXXXXXXXXXXXXXXRzC
    NODE_ENV = development
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-04
      • 1970-01-01
      • 2020-06-04
      • 1970-01-01
      • 2011-06-08
      • 2017-04-26
      • 1970-01-01
      相关资源
      最近更新 更多