【问题标题】:Node & Elastic Beanstalk: Set environment NODE_ENV=prod节点和 Elastic Beanstalk:设置环境 NODE_ENV=prod
【发布时间】:2015-07-30 06:03:38
【问题描述】:

生产环境需要执行如下命令:

NODE_ENV=production node app.js

我尝试将它作为配置下的命令传递:

我在日志中收到以下错误:

sh: NODE_ENV=prod node app.js: command not found

我也试过了:

NODE_ENV=prod  // 
error: sh: NODE_ENV=prod: command not found


NODE_ENV=prod app.js  // 
error: sh: NODE_ENV=prod app.js: command not found

在 ELB 上启动应用程序时执行以下命令的最佳方法是什么:

NODE_ENV=production node app.js

【问题讨论】:

    标签: node.js amazon-elastic-beanstalk


    【解决方案1】:

    您不需要手动设置节点命令。 Elastic Beanstalk 尝试依次启动 app.jsserver.jsnpm start。您可以在“配置”下的“环境属性”部分设置NODE_ENV 的值。

    【讨论】:

    • 我已经这样做了,但它不起作用。它被覆盖为“生产”
    【解决方案2】:

    正如其他人所提到的,您可以通过转到配置 -> 软件 -> 环境属性来手动添加它们。

    第二种方法是添加一个.ebextensions/environment.config 文件。

    1. 在项目的根目录下添加目录.ebextensions
    2. .ebextensions 中创建文件environment.config
    3. 添加您的环境配置。

    environment.config 的例子:

    option_settings:
      - option_name: NODE_ENV
        value: production
    

    【讨论】:

    • 在我看来,正如您所指出的,最好在配置文件中跟踪此类内容。该案例在技术上已经赢得了对配置 + 基础架构的压倒性支持,即具有 cloudformation 和 terraform 等的代码。
    • 我已经这样做了,但它不起作用。它被覆盖为“生产”
    【解决方案3】:

    您需要使用“环境属性”而不是节点命令。

    Key: NODE_ENV
    Value: production
    

    【讨论】:

    • 我已经这样做了,但它不起作用。它被覆盖为“生产”
    【解决方案4】:

    我只需在同一配置区域下的环境属性中设置NODE_ENV。您也可以在 .ebextensions 配置中进行设置。

    【讨论】:

    • 我已经这样做了,但它不起作用。它被覆盖为“生产”
    • @snehanshu.js 与其评论每个人的答案,不如发布一个新问题以及详细信息。
    猜你喜欢
    • 2013-08-16
    • 2020-10-29
    • 2014-04-27
    • 2020-12-08
    • 2019-07-06
    • 2015-09-18
    • 2019-02-19
    • 1970-01-01
    • 2021-04-08
    相关资源
    最近更新 更多