2009-12-31 10 views
6

Mam problem z uruchomieniem aplikacji Rails do uruchomienia w środowisku produkcyjnym za pośrednictwem usługi Phusion Passenger na Nginx/Ubuntu. Zgodnie z docs, środowisko jest kontrolowane przez opcję rails_env w pliku nginx.conf ... ale działa w trybie deweloperskim na naszym polu, niezależnie od tego, czy określimy "produkcję rails_env;" lub go opuścić (domyślnie mówi się o produkcji).Nie można wymusić przełączenia Railsów do środowiska produkcyjnego za pośrednictwem Passenger/Nginx

Inne uwagi:

  • środowisku Linux zmienna RAILS_ENV jest również zestaw do produkcji.

  • Możemy uruchomić w trybie produkcyjnym z wykorzystaniem „script/server -e produkcję”, więc nie wydaje się być przypadek Ruby kodu przesłanianie środowiska.

Jakieś pomysły?

Pełna 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; 
    } 

} 
+0

Ponownie uruchomiono nginx, prawdopodobnie? Czy aplikacja działa poprawnie i działa, jeśli dysponujesz odpowiednią bazą danych do programowania? To jest koszmarne. – wesgarrison

+0

Tak/tak/uzgodniono. – BFB

Odpowiedz

0

Lub spróbuj po prostu usuwając 'config.ru' całkowicie. Nginx jest inteligentny w aplikacjach railsowych, a config.ru nie jest dla nich niezbędny.

Powiązane problemy