2014-05-19 2 views
0

Grails 2.2.3 프로젝트를 프로덕션에 배포하고 URL 관련 문제가 발생했습니다. Apache에서 역방향 프록시를 설정하고 예를 들어 http://example.com이 있습니다. Config.groovy에서Grails : 프로덕션 URL에서 AppName을 제거하는 방법

나는 다음과 같은 세트 특성 :

grails.serverURL = "http://example.com/" 

application.properties에서 설정 한 다음

app.context=/ 

그러나 내 자원과 모든 링크는 항상

http://example.com/AppName/... 

방법에 참조 리소스 및 리에서 애플리케이션 이름 ("AppName")을 제거합니까? nks 참조? 자원의

예 : 환경의

<r:require modules="bootstrap"/> 
<g:javascript library="jquery"/> 

예 Config.groovy 파일 :

environments { 
    development { 
     grails.logging.jul.usebridge = true 
    } 
    production { 
     grails.logging.jul.usebridge = false 

     grails.serverURL = "http://example.com/" 
     grails.app.context = "/" 
    } 
} 

내가 생각 Grails 애플리케이션 설정 될 수있는 재산의 일종이 있어야합니다!? 그렇지 않으면 목이 아프다.

도와주세요!

P.S : 리소스에서 직접 액세스 (수동으로 URL에서 AppName 제거)하면 CSS, js 및 이미지와 같은 적절한 정보를 얻습니다.

업데이트 :

app.context=/ 
serverURL=http://example.com/ 

및 Grails의 절대 URL 생성 : 나는 application.properties에 다음과 같은 설정

<g:createLink controller="Sample" absolute="true"/> 

하고 적절한 URL을 만듭니다! 그러나 자원은 상대 경로를 사용하고 AppName /으로 시작합니다 ... 저주처럼 보입니다. AppName을 제거 할 수 없습니다.

업데이트 : prod run-app를 실행하면 모든 URL이 제대로 나오지 그러나 내가 톰캣 7을 배포하는 순간, 프로그램 응용 다시 URL이 나타납니다.

+1

'grails.app.context ='/ ''이어야합니다. http://stackoverflow.com/questions/22539389/change-the-context-for-your-application – dmahapatro

+0

링크를 어떻게 생성합니까? – saw303

+0

환경 설정을 위해'Config.groovy'에'grails.serverURL' 속성을 설정 했습니까? – emilan

답변

0

다른 옵션이 있지만 가장 간단한 방법은 ROOT.war처럼 배포하는 것입니다.

는 그냥 BuildConfig.groovy의 기본 전쟁 파일 이름을 변경

grails.project.war.file = "target/ROOT.war" 

당신에게 맞는 grails.serverURL 속성을 설정하면됩니다.

희망이 있습니다.

+1

죄송 합니다만, 사용자 ROOT.war을 (를) 사용할 수 없습니까? 다른 방법이 있습니까? – MeIr

+0

먼저 바람둥이에 ROOT ("/") 앱으로 배포 된 다른 앱이 없는지 확인합니다. 그렇지 않으면 충돌합니다. 그런 다음 grails.app.context = '/'로 시도해보십시오. 그러나 application.properties (Config.groovy 또는 로케이터를 사용하는 속성 파일)에는 없습니다. –

-2

상속받은 애플리케이션입니까? 그렇다면 원래 제작자와상의하여 아키텍처에 맞게 구성했는지 확인하는 것이 좋습니다.

+1

야, 유용하지 않아! 이런 종류의 대답은 당신을 득표 해 줄 것입니다. – MeIr

+0

그가 참고할 수있는 원저자가 있다면 실제로 도움이됩니다. 이것은 서버에서 설정 및 무시 될 수있는 숨겨진 속성 파일 또는 구성 문제와 같습니다. 미리 구축 된 머신이나 VM 이미지에 대한 배치를 단순화하기 위해 종종 devops 설정을했습니다. 그가 이전 소유자의 작업에 익숙하지 않은 경우 이것은 매우 좋은 답변입니다. – Orubel

관련 문제