Почему мое Rails-приложение всегда работает в производственном режиме? - PullRequest
2 голосов
/ 07 февраля 2011

Это Rails 3.0.3.

Мое развертывание - Apache 2.0 с Phusion Passenger.Мой блок httpd.conf выглядит так:

<VirtualHost *:80>
   ServerName www.mycarparts.co
   DocumentRoot /projects/mcp5/public
   <Directory /projects/mcp5/public>
      AllowOverride all
      Options -MultiViews
      Allow from all                                                                                                                                     
   </Directory>
  RailsEnv staging
</VirtualHost>

«Производство» также не указано в моем каталоге конфигурации.Grep -i -r дает следующее:

config / application.rb: # вы ограничены: test,: development или: production.config / database.yml: # Не устанавливайте эту базу данных так же, как для разработки или производства.config / database.yml: production: config / database.yml: database: mcp_production config / database.yml: database: mcp_production config / environment / production.rb: # Производственная среда предназначена для готовых "живых" приложений.config / environment / production.rb: # Использовать другое хранилище кеша в производственной конфигурации config / environment / production.rb: # В производственной среде Apache или nginx уже будут делать этои т. д.) config / newrelic.yml: # Не использовать для производственного или нагрузочного тестирования.
config / newrelic.yml: # Включить агент в производстве для мониторинга 24x7.Конфигурация NewRelic / newrelic.yml: производство: config / newrelic.yml: # идентично производству.Обеспечивается поддержка этой среды

Эти маленькие сюрпризы со стеком Apache / Passenger / Rails начинают раздражать.Кто-нибудь может помочь мне запустить мое приложение в правильном режиме?

РЕДАКТИРОВАТЬ: я могу поставить:

RailsEnv peeweeeffingherman

там, и приложение все еще работает в рабочем режиме, который я знаю, являетсядефолт.Очевидно, что настройка не читается.С чего бы это?

Ответы [ 2 ]

11 голосов
/ 12 февраля 2011

Если вы используете Phusion Passenger <3.0.2, то RailsEnv влияет только на приложения Rails 1 и Rails 2; Приложения Rails 3 считаются приложениями Rack и нуждаются в RackEnv. </p>

Это потенциальный источник путаницы среди пользователей, так как Phusion Passenger 3, RailsEnv и RackEnv были сделаны эквивалентными, а Phusion Passenger устанавливает и RAILS_ENV, и RACK_ENV. Версия Phusion Passenger для Nginx всегда так работала.

1 голос
/ 08 февраля 2011

Вы пробовали rails_env production?

...