【问题标题】:Setting NODE_ENV variable in elasticbeanstalk在 elasticbeanstalk 中设置 NODE_ENV 变量
【发布时间】:2014-11-18 15:53:51
【问题描述】:

我创建了一个名为 .elasticbeanstalk/environment.config 的文件,其中包含以下内容:

option_settings:
  - option_name: NODE_ENV
    value: development

我还将 process.env.NODE_ENV 传递给视图,以便检查值

app.get('/', function(req, res) {
  var data = {
    env: process.env.NODE_ENV
  }
  res.render('upload',data);
});

在我的本地机器上,我得到了我设置的值“local”。当我通过$ git aws.push 部署到 Amazons Elastic Beanstalk 时,该值为空。

我还需要做什么才能让 EB 识别 NODE_ENV 设置吗?

【问题讨论】:

    标签: node.js git amazon-web-services cloud amazon-elastic-beanstalk


    【解决方案1】:

    您的 .config 文件应位于 .ebextensions 目录中,而不是 .elasticbeanstalk

    那就试试吧,如果还是不行,你可以随时使用控制台。

    与此同时,您始终可以使用Elastic Beanstalk Console,它可以让您从其界面添加环境变量。为此,只需:

    1. 打开您的环境。
    2. 您会在左侧看到仪表板、配置、日志等。点击配置链接。
    3. 然后点击软件配置块旁边的齿轮图标。
    4. 向下滚动并为环境属性添加键/值。

    【讨论】:

    • 很棒的东西 - 认为我同时接受了太多并且没有正确阅读文档。
    • 我使用Dockerrun.aws.json 来部署我之前构建的镜像。在这种情况下,我无法访问应用程序上的任何环境变量(来自 UI 和 .config)。
    【解决方案2】:

    在弹性豆茎中设置environment variables的其他方法是 -

    1. .ebextensions 目录中创建一个配置文件,如environmentalvar.config 并在option_settings 中定义变量并将此文件包含到应用程序包中。 (Aws Documentation)

      例子-

      option_settings:
           aws:elasticbeanstalk:application:environment:
             NODE_ENV: production
      
    2. 通过使用弹性 beanstalk 命令行工具。设置变量的命令-

      eb setenv VAR_NAME=VAR_VALUE

    【讨论】:

      猜你喜欢
      • 2017-08-22
      • 2020-01-01
      • 2013-10-23
      • 2020-12-13
      • 2016-10-10
      • 2013-10-29
      • 1970-01-01
      • 2021-06-05
      • 2014-03-16
      相关资源
      最近更新 更多