【发布时间】:2011-04-29 20:09:57
【问题描述】:
在玩 Heroku 时,我发现他们使用环境变量进行服务器本地配置的方法非常棒。现在,在设置自己的应用程序服务器时,我发现自己想知道复制它会有多难。
我正在部署一个 sinatra 应用程序,使用 Unicorn 和 Nginx。我知道 nginx 不喜欢玩弄环境,所以就出局了。我可能可以将 vars 放在 unicorn 配置文件中的某个位置,但由于它与应用程序的其余部分一起处于版本控制之下,这有点违背了将配置放在服务器环境中的目的。就我而言,没有理由不将我的应用特定配置文件与应用的其余部分放在一起。
第三个也是最后一个(据我所知)选项是将它们设置在生成的 shell 中。那是我迷路的地方。我知道登录和非登录 shell 使用不同的 rc 文件,我不确定使用 sudo -u http stuff 调用某些东西是否会产生登录 shell。我做了一些功课,问了谷歌和人,但我仍然不完全确定如何处理它。也许我只是愚蠢...无论哪种方式,如果有人能对整个 shell 环境交易有所了解,我将不胜感激。
【问题讨论】:
-
我这样做的方法是将这些变量放在 .bashrc 文件中,这样,当我 ssh 到服务器时,我将直接设置这些变量,而无需包装脚本,它们是安全的,因为只有可以登录到可以访问它们的服务器的人。如果您想在多台服务器上部署您的应用程序并设置许多变量,则包装脚本非常有用。
标签: ruby shell nginx environment unicorn