2010-10-13 15 views
9

Mam aplikację 3 szyny (którą zaktualizowałem). Działa na pasażerach i nginx, ale na moim serwerze produkcyjnym zaczyna się od środowiska ustawionego na "produkcję". Wiem, że brakuje mi czegoś naprawdę podstawowego, ale po prostu nie mogę się dowiedzieć, gdzie ustawić środowisko zamiast w environment.rb.Szyny 3 - zestaw środowiska

Dzięki za pomoc!

AKTUALIZACJA: ok, dowiedziałem się, że nadal mogę to zrobić z Rails.env = "produkcja".

To wydaje mi się starą szkołą. Czy znasz elegancki sposób konfiguracji tego może w Capfile lub coś w tym stylu?

Odpowiedz

6

Rails 3 jest trochę inny niż Rails 2.x, ponieważ ma plik config.ru, podobnie jak inne aplikacje Rack.

Pasażer wykrywa tory jako aplikację Rack, więc będziesz musiał użyć RackEnv zamiast RailsEnv w vhost. Możesz ustawić środowisko używając RackEnv zgodnie z dokumentacją dla Passenger/Nginx.

3

Możesz skonfigurować różne RAILS_ENV dla każdej aplikacji w swoim vhost dla nginx z pasażerem. Nigdy nie używałem nginx, ale w Apache jest to tylko dyrektywa RailsEnv=development. W ten sposób każda witryna po prostu ma to ustawione, nie martw się konfigurowaniem zadania lub zmiennej cap lub cokolwiek innego. Zobacz docs. Zauważ, że domyślną wartością jest production, więc powinno to już być ustawione.