我在EC2上设置了一个登台服务器,为rails 3.2+应用程序安装了nginx + passenger。然而,乘客坚持将其作为生产服务器运行,尽管被告知两次 rails_env
为staging
。
我可以清楚地看到nginx' error.log
显示乘客无法到达生产数据库。
这是我的nginx.conf
,其中一部分是:
http {
passenger_root /var/lib/gems/1.9.1/gems/passenger-4.0.43;
passenger_ruby /usr/bin/ruby1.9.1;
passenger_app_env staging;
include mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name staging.coke-imc.com;
root /home/ubuntu/imc-staging/public; # <--- be sure to point to 'public'!
passenger_enabled on;
passenger_app_env staging;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
请告知。
答案 0 :(得分:0)
我唯一想到的是你在某种程度上覆盖了应用程序级别的环境变量。也许您使用dotenv
并在那里加载RAILS_ENV
变量,也许 - 只是也许,它是production
? :)
答案 1 :(得分:0)
阅读我的回答here,可能是因为您在开发,登台和制作环境中使用相同的路径。