在我的Nginx / Unicorn Opsworks环境中,我将自定义JSON rails_env属性设置为“opsworks”
{
"deploy": {
"myapp": {
"rails_env": "opsworks"
}
}
但是当我进入Rails控制台并运行Rail.env Rails返回“开发”时。 Opsworks在opsworks环境下启动Unicorn,但Rails似乎正在开发中运行。日志目录包含开发和操作系统的日志。
对我做错了什么的想法?
答案 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