部署在aws上时如何使用环境变量

2024-05-04

我正在构建一个在本地利用环境变量的 Web 应用程序,我想将其投入生产(在线)。我正在尝试了解如何在 AWS 上设置环境变量。

这是一个 Node.js 应用程序,我在 AWS 上使用 Elastic beanstalk 进行部署。我已经看过了https://docs.aws.amazon.com/cloud9/latest/user-guide/env-vars.html#env-vars-env-list https://docs.aws.amazon.com/cloud9/latest/user-guide/env-vars.html#env-vars-env-list,但我不确定哪个选项适合我。

我本地的 .env 文件包含类似以下的行

密码=我的密码

我正在使用 dotenv 包,其中包含 require('dotenv').config();在适当的文件中。我通过 process.env.PASSWORD 等方式访问代码中的环境变量(使用前面提到的 .env 文件中的一行示例)。

我尝试搜索几个地方,并看到了各种选项,但我不确定哪一个适用于我的环境变量。


您访问的链接可能会对您管理的 ec2 机器有所帮助,但如果您正在使用 Elasticbeanstalk,我建议您使用elasticbeanstalk提供的环境变量配置 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-softwaresettings.html.

我并不赞成.env对于 Elasticbeanstalk、ECS 和许多其他服务,AWS 提供简单且开箱即用的功能来在配置中设置环境变量,.env将环境写入文件,该文件的安全性不如系统环境变量。

Elasticbeanstalk ENV 有趣的部分是,系统环境变量具有更高的外围.env环境变量,但最好不要将 dotenv 放在 elasticbeanstalk 上。

环境属性和其他软件设置

您可以使用环境属性来传递机密、端点、调试 设置以及您的应用程序的其他信息。环境 属性可帮助您在多个环境中运行应用程序 不同的目的,例如开发、测试、登台和 生产。

弹性beanstalk-部署节点js https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html

Example .ebextensions/options.config

option_settings:
  aws:elasticbeanstalk:application:environment:
    API_ENDPOINT: www.example.com/api

现在你需要的一切

var endpoint = process.env.API_ENDPOINT

环境属性

环境属性部分允许您指定环境 正在运行的 Amazon EC2 实例上的配置设置 你的申请。这些设置作为键值对传递到 应用程序。

在 AWS Elastic Beanstalk 中运行的 Node.js 环境中,您 可以使用访问环境变量process.env.ENV_VARIABLE类似于以下示例。

var endpoint = process.env.API_ENDPOINT
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

部署在aws上时如何使用环境变量 的相关文章

随机推荐