2013-04-19 2 views
1

난 레일 응용 프로그램에 루비가있어 /home/user/application에있다. 나는 DocumentRoot가 /var/www 인 아파치 웹 서버를 가지고있다. 그리고 나는 심볼릭 링크 /var/www/application -> /home/user/application을 가지고있다. 레일에 루비에 관한RAILS_ROOT (Rails.root)의 출처는 어디입니까?

내 아파치 구성 섹션은 다음 그것을 (파일로) 옵션 app_root를 인쇄 할 산란 그것의 처음에서, 그래서

RailsBaseURI /application 
    <Directory /home/user/application> 
      Order Allow,Deny 
      Allow from all 
      Options -MultiViews 
    </Directory> 

내가 여객 코드를 수정했습니다. 중요한 경우 handle_spawn_application 메소드에서 phusion_passenger/spawn_manager.rb 파일을 수정했습니다.

값은 /home/user이며 잘못된 값인데 /home/user/application이 필요합니다. 그래서 내 질문은 승객이 option['app_root'] (이것은 RAILS_ROOT | Rails.Root)이되는 방법입니다.

관찰 : 나는 승객 코드를 app_root에서 /home/user/application으로 변경했으며 모든 것이 잘 동작했다.

+0

Ruby와 Ruby에 익숙하지 않습니다. 유용한 정보가 누락 된 경우 알려주십시오. –

답변

1

변경 심볼릭 링크/있도록 공공/홈/사용자/응용 프로그램 /에 var에/www /에서 응용 프로그램 포인트

그럼 그냥 RackBaseURI에 RailsBaseURI을 변경하고 spawn_manager.rb하여 변경 사항을 취소


이전 토론에서는 단일 응용 프로그램을 사용했습니다.

<Directory /var/www/application/public> 
      Order Allow,Deny 
      Allow from all 
      Options -MultiViews 
    </Directory> 

Apache Phusion documentation. 당신은 spawn_manager.rb하여 변경 사항을의 DocumentRoot를 추가하고/디렉토리 설정에 공공 추가 및 취소해야 참조하십시오.

app_root는 지정된 것부터 하나의 디렉토리입니다./home/user/application/public의 상위 디렉토리는 Rails 루트 인/home/user/application입니다.

당신은 레일> 3

대신 RailsBaseURI의 RackBaseURI을 원하는이 뒤에 이유는 아파치가 정적 (공공 디렉토리에) 자산과 그 현재 여객 노선이 요청되지 다음 경우를 제공 너무하다 레일즈 앱에.

+0

DocumentRoot를/var/www/application/public으로 설정할 수 없습니다. 내 다른 사이트는 어떻습니까? –

+0

다른 사이트에 대한 언급이 없으므로 다음 섹션을 읽어보십시오. 나는 대답을 업데이트 할 것이다. –

+0

걱정하지 마십시오. 당신의 대답은 제 길을 찾는데 충분했습니다. –

관련 문제