opsworks rails.env与自定义json rails_env不匹配

时间:2014-02-19 18:51:51

标签: aws-opsworks

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

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

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

对我做错了什么的想法?

1 个答案:

答案 0 :(得分:1)

您正在做的是为您的rails应用程序设置RAILS_ENV。您可以在此处查看来源:https://github.com/aws/opsworks-cookbooks/blob/master/unicorn/definitions/unicorn_web_app.rb

当您使用ssh登录时,这不会为您设置shell / ssh enviornment变量。

手动执行此操作:

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