首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将许多环境变量传递给Unicorn运行的Rails应用程序

将许多环境变量传递给Unicorn运行的Rails应用程序
EN

Stack Overflow用户
提问于 2012-10-19 12:20:40
回答 2查看 2.4K关注 0票数 2

我需要向Unicorn服务器运行的Rails应用程序传递大量的环境变量。示例独角兽init脚本有以下几行:

代码语言:javascript
运行
复制
APP_ROOT=/home/x/my_app/current
<...>
INIT_CONF=$APP_ROOT/config/init.conf
<...>
test -f "$INIT_CONF" && . $INIT_CONF

所以我创建了一个$APP_ROOT/config/init.conf,把所有变量都放在这里,如下所示:

代码语言:javascript
运行
复制
VAR1=value1
VAR2=value2

我甚至让这个文件可执行(不确定是否有必要)

重新开始了独角兽。但是ENV["VAR1"] 在我的应用程序中没有返回任何..。

它应该这样工作吗?如果是,我做错什么了?如果不是,那么我如何以干净的方式将许多env传递到Rails应用程序中呢?(不污染全球环境,也不把它们都放在命令行中)

更新我的调查显示了这样的shell文件:

代码语言:javascript
运行
复制
. init.conf
echo $VAR1

按预期工作。但这个:

代码语言:javascript
运行
复制
. init.conf
ruby -e "puts ENV['VAR1']"

不会的。因此,.将代码导入到脚本中,但通过这种方式设置的env不会被进一步传输。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-24 10:00:04

您可能必须从配置文件中“导出”变量。如果你把

代码语言:javascript
运行
复制
export VAR1=value1
export VAR2=value2

在配置文件中?

票数 1
EN

Stack Overflow用户

发布于 2012-10-24 01:22:55

我会考虑使用福尔曼,特别是使用.env文件作为定义的这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12974200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档