【问题标题】:opsworks rails.env does not match custom json rails_envopsworks rails.env 与自定义 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 的日志。

对我做错了什么有什么想法吗?

【问题讨论】:

    标签: aws-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
    

    【讨论】:

    • 谢谢。这是整个网站上最有帮助的答案。
    猜你喜欢
    • 2011-02-12
    • 2015-02-19
    • 1970-01-01
    • 2023-03-22
    • 2011-05-01
    • 2013-11-25
    • 2013-06-07
    • 1970-01-01
    • 2016-01-10
    相关资源
    最近更新 更多