nginx乘客不关心' passenger_app_env#39;,始终作为生产运行

时间:2014-05-28 20:21:16

标签: ruby-on-rails nginx amazon-ec2 environment-variables passenger

我在EC2上设置了一个登台服务器,为rails 3.2+应用程序安装了nginx + passenger。然而,乘客坚持将其作为生产服务器运行,尽管被告知两次 rails_envstaging

我可以清楚地看到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;
    }
  }
}

请告知。

2 个答案:

答案 0 :(得分:0)

我唯一想到的是你在某种程度上覆盖了应用程序级别的环境变量。也许您使用dotenv并在那里加载RAILS_ENV变量,也许 - 只是也许,它是production? :)

答案 1 :(得分:0)

阅读我的回答here,可能是因为您在开发,登台和制作环境中使用相同的路径。