gpt4 book ai didi

linux - 如何处理环境变量的数量

转载 作者:IT王子 更新时间:2023-10-29 01:26:45 25 4
gpt4 key购买 nike

虽然我的理解是使用环境变量在不同的部署环境中配置应用程序是最佳实践,但我不知道管理这些环境并在其中填充变量的好方法。

以下是我正在考虑的方法:

  • 将它们填充到我们用来运行应用程序的 Upstart 脚本中。我们使用 Ansible 来配置我们的服务器,这些服务器当前通过静态 Upstart 脚本进行复制,但是这可以使用环境变量进行模板化。

  • 相同的方法,但使用 /etc/environment

  • 使用 envdir 之类的东西,并再次使用 ansible 来填充文件。

另一个问题是在哪里存储值,我在考虑 redis,但我愿意接受建议。 Ansible 有一个“Vault”,我还没有研究它可能是一个选项。

值是 API key 和数据库 URL 之类的东西。

我真的只是想知道其他人使用什么方法。我愿意接受所有建议。

最佳答案

我认为这个问题会征求很多意见,并且可能会有很多相互矛盾的意见,但话虽如此,这里是我的一些意见:

  • /etc/environment 是操作系统的一部分,用于配置交互式用户 shell。不要将其用于应用程序。
  • 通过 ansible 的模板化 upstart 配置对我来说似乎很合理。如果您打算在其中存储敏感数据,只需确保将文件系统权限适当锁定为 root 只读。
  • 您还可以使用特定于应用程序的模板化配置文件,例如 /etc/myapp/config,几十年来它在许多程序中都运行良好。整个环境变量比配置文件更好的位置实际上更多地来自 PaaS 的角度(我相信 heroku 通过他们的 12-factor 应用程序站点推广了这种方法)。因此,如果您部署的是 PaaS 或 PaaS 风格,环境就很方便。但是,如果您通过 Ansible 在自己的服务器上安装应用程序,恕我直言,由于我在博客文章 environment variables considered harmful 中概述的原因,直接配置文件更容易进行故障排除。

关于linux - 如何处理环境变量的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23796345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com