Rails设置生产环境变量 - 解释

问题描述 投票:0回答:1

我试图通过设置环境变量来正确保护我的应用程序。我正在用figaro gem做这件事。我没有使用heroku,只是我自己设置的vps。

现在开发的所有工作都很好并且有意义。 application.yml包含不再在database.yml上的硬编码数据库密码。 application.yml不会在存储库上推送,密码也不会被共享。都好。

但我很难在生产中理解它。如果我使用环境变量在database.yml上设置生产部分,然后application.yml不在生产中运行的服务器上,它怎么可能工作?或者,如果我将它们设置在另一个文件上,然后将其推送到存储库,我只是将带有密码的密码从文件移动到另一个文件,并且仍然可以访问。或者环境变量应该只用于测试和开发?

有人能给我一个明确的解释吗?我一直在阅读其他问题和文章,但我无法理解它。

ruby-on-rails
1个回答
0
投票

您想在生产中设置Unix环境变量。查看this guide,其中说明:

config / application.yml文件中的变量将覆盖Unix shell中设置的环境变量。

换句话说,在开发中,您可以在application.yml中设置这些变量,然后覆盖Unix中设置的任何值。在生产中,您可以在shell中设置它们,这是值的来源。我建议做一些关于环境变量的更一般的阅读,因为它们是应用程序开发的基础部分。

© www.soinside.com 2019 - 2024. All rights reserved.