【问题标题】:Problem getting apache to default to a particular JKMount using mod_jk使用 mod_jk 使 apache 默认为特定 JKMount 的问题
【发布时间】:2010-08-16 20:19:47
【问题描述】:

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

我确信这会很容易,但我想不通。有什么想法吗?

戈登

【问题讨论】:

    标签: apache tomcat web-applications mod-jk


    【解决方案1】:

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

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

    <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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-07
        • 1970-01-01
        • 1970-01-01
        • 2014-07-11
        • 2015-06-04
        • 1970-01-01
        • 1970-01-01
        • 2021-08-07
        相关资源
        最近更新 更多