2010-10-13 2 views
9

У меня есть приложение для рельсов 3 (которое я обновил). Он работает на пассажирском и nginx, но на моем производственном сервере он также начинается с среды, установленной на «производство». Я знаю, что у меня отсутствует что-то действительно базовое, но я просто не могу понять, где установить среду, а не в environment.rb.Rails 3 - установленная среда

Спасибо за помощь!

UPDATE: Хорошо, я узнал, что все еще могу сделать это с Rails.env = 'production'.

Это похоже на старую школу для меня. Вы знаете элегантный способ настроить это, возможно, в Capfile или так?

ответ

6

Rails 3 немного отличается от Rails 2.x тем, что у него есть файл config.ru, как и другие приложения Rack.

Пассажир обнаруживает рельсы в качестве приложения стойки, поэтому вам придется использовать RackEnv вместо RailsEnv в vhost. Вы можете настроить среду с помощью RackEnv в соответствии с документацией для Passenger/Nginx.

3

Вы можете настроить другой RAILS_ENV для каждого приложения в вашем vhost для nginx с пассажиром. Я никогда не использовал nginx, но в apache это всего лишь директива RailsEnv=development. Таким образом, каждый сайт просто настроен, не стоит беспокоиться о настройке задачи или переменной шапки или чего-либо еще. См. docs. Обратите внимание, что по умолчанию production, поэтому это уже должно быть установлено для вас.

Смежные вопросы