2011-02-07 3 views
2

이것은 레일 3.0.3입니다.Rails 애플리케이션이 항상 프로덕션 모드로 실행되는 이유는 무엇입니까?

나의 배포판은 Phusion Passenger가있는 Apache 2.0입니다. 내 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> 

"생산"또한 내 config 디렉토리에 지정되어 있지 않습니다. grep -i -r은 다음을 산출합니다.

config/application.rb : 테스트, 개발 또는 생산에만 제한되어 있습니다. config/database.yml : #이 db를 개발 또는 생산과 동일하게 설정하지 마십시오. config/database.yml : 생산 : config/database.yml : 데이터베이스 : mcp_production config/database.yml : 데이터베이스 : mcp_production config/environments/production.rb : # 프로덕션 환경은 완료된 "라이브" 앱. config/environments/production.rb : # 프로덕션 환경에서 다른 캐시 저장소 사용 config/environments/production.rb : # 현재 프로덕션 환경에서 Apache 또는 nginx가 이미이 작업을 수행합니다 config/newrelic.yml : # capitalized RAILS_ENV (즉, 생산, 스테이징 등) config/newrelic.yml : # 생산 또는 부하 테스트에는 사용하지 마십시오.
config/newrelic.yml : # 24x7 모니터링을 위해 프로덕션 환경에서 에이전트를 켭니다. NewRelic config/newrelic.yml : 생산 : config/newrelic.yml : 생산과 동일합니다. 해당 환경에 대한 지원이 제공됩니다.

Apache/Passenger/Rails 스택에 대한 이러한 놀랄만 한 것들이 자극적이기 시작합니다. 아무도 내 응용 프로그램을 올바른 모드로 실행할 수 있습니까?

편집 :

RailsEnv peeweeeffingherman 

거기 앱 아직도 내가 기본을 알고 생산 모드에서 온다 : 내가 넣을 수 있습니다. 분명히 설정을 읽을 수 없습니다. 왜 그랬을까요?

답변

11

Phusion Passenger를 사용하는 경우 < 3.0.2이면 RailsEnv는 Rails 1 및 Rails 2 앱에만 영향을 미칩니다. Rails 3 앱은 Rack 앱으로 간주되며 RackEnv가 필요합니다.

이것은 잠재적 인 혼란의 원인입니다. 따라서 Phusion Passenger 3, RailsEnv 및 RackEnv가 동일하게 만들어졌고 Phusion Passenger가 RAILS_ENV 및 RACK_ENV를 모두 설정했기 때문입니다. Phusion 여객선의 Nginx 버전은 항상 그런 식으로 일했습니다.

1

rails_env production을 사용해 보셨습니까?

+0

나는 그것을했다, 나는 그것이 nginx 명령이라고 생각한다. – AKWF

관련 문제