opsworks rails.env 与自定义 json rails_env 不匹配
Posted
技术标签:
【中文标题】opsworks rails.env 与自定义 json rails_env 不匹配【英文标题】:opsworks rails.env does not match custom json rails_env 【发布时间】:2014-03-20 07:47:44 【问题描述】:在我的 nginx/Unicorn Opsworks 环境中,我已将自定义 JSON rails_env 属性设置为“opsworks”
"deploy":
"myapp":
"rails_env": "opsworks"
但是当我进入 Rails 控制台并运行 Rail.env 时,Rails 返回“开发”。 Opsworks 正在 opsworks 环境下启动 Unicorn,但 Rails 似乎正在开发中运行。日志目录包含开发和 opsworks 的日志。
对我做错了什么有什么想法吗?
【问题讨论】:
【参考方案1】:您正在做的是为您的 rails 应用程序设置 RAILS_ENV。你可以在这里查看源代码:https://github.com/aws/opsworks-cookbooks/blob/master/unicorn/definitions/unicorn_web_app.rb
这不会在您 ssh 登录时为您设置 shell / ssh 环境变量。
手动完成:
sudo su deploy # change to deploy user
cd /srv/www/application_short_name/current # drop into the specific directory
RAILS_ENV=opsworks rails c
这将在您运行命令时为您提供适当的 rails env。
您可以通过添加以下行为您的用户创建一个 .bashrc 文件来自动化这部分/使其更容易:
export RAILS_ENV=opsworks
【讨论】:
谢谢。这是整个网站上最有帮助的答案。以上是关于opsworks rails.env 与自定义 json rails_env 不匹配的主要内容,如果未能解决你的问题,请参考以下文章
Rails 6 本地服务器启动:RAILS_ENV=未定义开发环境