繁体   English   中英

使用Apache / Tomcat +虚拟主机部署多个grails应用程序

[英]Deploying multiple grails applications with Apache/Tomcat + Virtual Hosts

我无法弄清楚如何使用Apache / Tomcat部署多个grails应用程序,其中虚拟主机映射到每个grails应用程序

我可以这样做

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

工作,但我想要的是

http://virtualhost1.example.com/

直接进入我的申请。 网络上的很多教程网站只是让你的网络应用程序成为“ROOT”,但这在多个grails-app虚拟主机环境中无效。

我试过用了

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

tomcat / conf / server.xml文件中的标签,但它似乎没有做任何事情(是的,我每次更改时都会重新启动tomcat。)

我也在我的apache配置文件中尝试了我能想到的所有虚拟主机,并且无法让它工作。

那么,当我有多个grails webapps,虚拟主机,并且我不希望我的webapp是“ROOT”时,如何摆脱URL中的应用程序名称?

我假设您使用mod_jk连接Apache和Tomcat。 如果是这样,您将不得不在Tomcat和Apache中配置虚拟主机 (在conf / server.xml中有多个<Host>声明

这基本上意味着您将在conf / server.xml中有两个<Host ...>声明。 它们将有不同的名称和appBase,但你仍然必须命名战争ROOT.war

他们给出的例子是:

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

在配置虚拟“ <host> s”的DNS(非常类似于Apache)之后,您必须将ROOT.war放入单独的文件夹{renapps,stimpyapps}而不是默认的“webapps”文件夹

这种方法有效,但还有另一种使用mod_proxy而不是mod_jk 我对mod_proxy并不熟悉,但基本上你会有连接器句柄将根上下文转换为实际的上下文。 因此,在配置之后,它会将发送到http://virtualhost1.example.com/请求代理并转发到Tomcat中的正确上下文( /myGrailsApplication-0.1/

让我们知道你发现了什么! 其他人用mod_proxy做到这一点?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM