Rails没有看到环境变量

奥古斯塔夫

我正在尝试将Rails应用程序移入生产环境,但是我遇到了Rails看不到我的环境变量的问题。

我在.bashrc文件中有数据库设置的密码,例如

export APP_NAME_DATABASE_PASSWORD=secretkey

在irb

ENV["APP_NAME_DATABASE_PASSWORD"]

返回secretkey

使用

RAILS_ENV=production rails c

而只是

rails c

返回secretkey但启动应用程序时我得到

Access is denied (using password: NO)

我在“如何在Ubuntu 14.04上使用Unicorn和Nginx部署Rails应用程序”中使用了初始化脚本的稍微修改的版本来启动unicorn。

它托管在Ubuntu Server 14.04上。

安东尼·E

export APP_NAME_DATABASE_PASSWORD=secretkey最有可能将环境变量限定为bash进程。由于Unicorn不能作为bash进程的子进程运行,因此它无权访问此环境变量。

我建议将您的ENV变量存储在单个位置,例如application.yml在应用程序开始时将其加载到您的ruby环境中。有一些很棒的工具可以做到这一点。我建议调查Figaro:https : //github.com/laserlemon/figaro

这是与您的问题有关的另一篇文章:重新启动独角兽时重新使用.bashrc?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章