Impossible de forcer Rails dans l’environnement de production via Passenger / Nginx

J’ai du mal à faire fonctionner une application Rails dans l’environnement de production via Phusion Passenger sur Nginx / Ubuntu. D’après les documents , l’environnement est contrôlé par l’option rails_env de nginx.conf … mais il s’exécute en mode développement sur notre boîte, que nous spécifiions “rails_env production”; ou laissez-le (le défaut est dit production).

Autres notes:

Des idées?

Complet nginx.conf:

worker_processes 1; pid /var/run/nginx.pid; events { worker_connections 1024; } http { passenger_root /var/lib/gems/1.8/gems/passenger-2.2.7; passenger_ruby /usr/bin/ruby1.8; include mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; sendfile on; keepalive_timeout 65; gzip on; gzip_http_version 1.0; gzip_vary on; gzip_comp_level 6; gzip_proxied any; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_buffers 16 8k; server { listen 80; server_name bar.foo.com; root /home/foo/dev/bar/public; passenger_enabled on; rails_env production; } } 

Solution de contournement disponible à l’ adresse http://groups.google.com/group/phusion-passenger/browse_thread/thread/f91cd54bd379ad26/0a510133a080daac

Ajouter à config.ru:

 ENV['RAILS_ENV'] = ENV['RACK_ENV'] if !ENV['RAILS_ENV'] && ENV['RACK_ENV'] 

Ou essayez simplement de supprimer ‘config.ru’. Nginx est intelligent sur les applications rails, et config.ru n’est pas nécessaire pour eux.