1

在我的 Nginx/Unicorn Opsworks 环境中,我将自定义 JSON rails_env 属性设置为“opsworks”

{
"deploy": {
    "myapp": {
        "rails_env": "opsworks"
    }
}

但是当我进入 Rails 控制台并运行 Rail.env 时,Rails 返回“开发”。Opsworks 正在 opsworks 环境下启动 Unicorn,但 Rails 似乎正在开发中运行。日志目录包含开发和 opsworks 的日志。

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

4

1 回答 1

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
于 2014-02-22T05:02:56.333 回答