如何在Tomcat上托管多个站点?

时间:2011-03-04 10:22:33

标签: tomcat

是否可以使用Tomcat托管多个站点?每个站点都必须拥有自己的域名和"/"上下文。我没有找到任何关于此的文档/说明。

2 个答案:

答案 0 :(得分:8)

绝对有可能,也很容易。 Tomcat主配置文件conf / server.xml可以包含多个元素,每个元素都包含自己的设置和webapp定义。 Tomcat将匹配对这些主机的传入请求(也支持主机别名)并将请求转发到正确的webapp。

因此,通常您会添加一个声明,其中包含特定于主机的应用程序库目录,然后将WAR放入该目录中,它将起作用。

有关特定主机配置,请参阅The Host Container

答案 1 :(得分:1)

然而,另一种可能性是将tomcat用作不同tomcats或同一个中的其他应用程序的调度程序/代理服务器。

要完成此操作,建议您使用UrlRewriteFilter

创建一个名为ROOT的新Web项目,集成UrlRewriteFilter并将其部署到您的tomcat中。(如果您要将其用作代理,请下载库commons-codec和commons-httpclient)

编辑urlrewrite.xml并在那里设计路由。

<rule>
    <condition name="host" operator="equal">mydomain1.com</condition>       
    <from>(.*)</from>
    <to type="proxy">http://localhost:8080/MyDomain1/index.jsp?$1</to>
</rule>

<rule>
    <condition name="host" operator="equal">mydomain2.com</condition>       
    <from>(.*)</from>
    <to type="proxy">http://localhost:8090/MyDomain2/index.jsp?$1</to>
</rule>  

*根据您的需要more info注意“输入”。

*此过滤器对于创建SEO友好网址非常有帮助。