2

我有一个面向 4 个 tomcat webapps 的 apache 实例,我们称它们为 app1、app2、app3、app4。我正在使用 mod_jk 作为连接器,并且我已经为每个 JKMount 条目设置了 apache,我可以很高兴地点击:

服务器:8080/app1

服务器:8080/app2

服务器:8080/app3

服务器:8080/app4

但我真正想要的是让 app1、app2 和 app3 的所有流量按上述方式处理,但 app4(仅)在以下位置处理:

服务器:8080/

我确信这会很容易,但我无法弄清楚。有任何想法吗?

戈登

4

2 回答 2

4

如果我理解正确,您想将 app4 设置为默认 Web 应用程序 - 这样它就可以直接作为 server:8080/ 使用

您需要做的就是将路径设置为Tomcat中""Context元素。. 这应该工作<Host>server.xml

<Context docBase="/var/lib/tomcat6/webapps/app4/" path="" reloadable="true>

从 Tomcat 文档中,

如果您指定空字符串 ("") 的上下文路径,则您正在为此主机定义默认 Web 应用程序,它将处理所有未分配给其他上下文的请求

确保您重新启动 Apache 和 Tomcat 一次以启用更改。

注意:来自 Tomcat 6 文档http://tomcat.apache.org/tomcat-6.0-doc/config/context.html#Introduction建议不要将它放在 server.xml 中,因为您需要重新启动 Tomcat 进行任何更改.

可以使用名为 ROOT.xml 的文件定义默认 Web 应用程序

但我自己没有尝试过这个选项。

于 2010-08-17T08:14:20.970 回答
1

从 Tomcat 5.5 开始(我不知道早期版本),如果它是 WAR 文件,您可以将 app4 重命名为ROOT.war ,如果它是目录,则可以重命名为ROOT/。从逻辑上讲,如果存在,您将必须覆盖任何现有的 ROOT.war 或 ROOT/。

于 2012-01-14T08:01:45.127 回答