2009-11-26 11 views
6

I nie były w stanie dowiedzieć się, jak wdrożyć wiele Grails aplikacji z Apache/Tomcat gdzie wirtualnego hosta jest odwzorowywany do każdej aplikacji grailswdrażania wielu aplikacji Grails z Apache/Tomcat + hostów wirtualnych

mogę dostać tak że

http://virtualhost1.example.com/myGrailsApplication-0.1/ 

robót, ale to, co chcę jest dla

http://virtualhost1.example.com/ 

aby przejść bezpośrednio do mojego wniosku. Wiele tutorialowych stron internetowych sprawia, że ​​twoja aplikacja internetowa jest "ROOT", ale to nie działa w środowisku wirtualnego hosta grails grails.

Próbowałem przy użyciu

<Host name="virtualhost1.example.com" ...> </Host> 

znaczników w pliku tomcat/conf/server.xml, ale nie wydaje się do niczego (i tak, ja wznowiona Tomcat każdym razem, kiedy zmienił go.)

Próbowałem również wszystkiego, co mogłem wymyślić w moim pliku konfiguracyjnym apache dla wirtualnego hosta i nie mogłem go uruchomić.

Jak więc pozbyć się nazwy aplikacji w adresie URL, gdy mam wiele aplikacji internetowych grails, hostów wirtualnych i nie chcę, aby moja aplikacja internetowa była "ROOT"?

Odpowiedz

3

Zakładam, że używasz mod_jk do połączenia Apache & Tomcat. Jeśli tak, to trzeba mieć do configure virtual hosting within Tomcat as well as Apache (Multiple <Host> declarations w swojej conf/server.xml)

zasadzie oznacza to, że będziesz miał dwa <Host ...> deklaracje wewnątrz conf/server.xml. Będą one mieć różne nazwy, a appBase, ale będzie jeszcze nazwać ROOT.war War

przykładzie, że dali się:

<Engine name="Catalina" defaultHost="ren"> 
    <Host name="ren" appBase="renapps"/> 
    <Host name="stimpy" appBase="stimpyapps"/> 
</Engine> 

Po skonfigurowaniu DNS wirtualnego " <host> s '(podobnie jak Apache) będziesz musiał umieścić swój plik ROOT.war (s) w oddzielnych folderach {renapps, stimpyapps} zamiast domyślnego folderu' webapps '

Ta metoda działa, ale jest inna metoda przy użyciu mod_proxy zamiast mod_jk. Nie jestem zaznajomiony z mod_proxy, ale w zasadzie miałbyś uchwyt złącza tłumaczący kontekst główny do faktycznego kontekstu. Tak więc po skonfigurowaniu proxy wysłałby & dalej żądania wysłane do http://virtualhost1.example.com/ w odpowiednim kontekście w Tomcat (/myGrailsApplication-0.1/)

Daj nam znać, co znajdziesz! Ktoś inny robi to z mod_proxy?

+1

Dzięki! Zamierzam spróbować, jak tylko wyzdrowieję po przedawkowaniu indyka/ciasta i wina ... –

+0

Tak! To działa. Wielkie dzięki. –

+0

Moja odpowiedź tutaj: http://stackoverflow.com/questions/5751662/how-to-deploy-multiple-grails-apps-on-one-tomcat-apache używa mod_proxy. – Chris