使用mod_jk将apache默认为特定JKMount的问题

时间:2010-08-16 20:19:48

标签: apache tomcat web-applications mod-jk

我有一个面向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 /

我确信这很容易,但我无法理解。有什么想法吗?

戈登

2 个答案:

答案 0 :(得分:4)

如果我理解正确,您希望将app4设置为默认的Web应用程序 - 以便它可以直接作为服务器使用:8080 /

您需要做的就是在Tomcat上""的{​​{1}}内的Context元素中将路径设置为<Host>。 。这应该工作

server.xml

来自Tomcat文档,

  

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

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

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

  

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

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

答案 1 :(得分:1)

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