【问题标题】:How to create sub-domains in Apache Tomcat 8如何在 Apache Tomcat 8 中创建子域
【发布时间】:2016-06-01 07:31:00
【问题描述】:

我已经在我的 windows server 2012 上安装了 Apache tomcat 8,我需要在其中存储我的 Java 应用程序。我有 3 个应用程序:app1、app2、app3

现在,如果我将 - Tomcat 8.0\webapps 文件夹中的名为 ROOT.war 的 war 文件放入地址 mydomain.com 并且工作正常 - 但我需要能够在同一个 tomcat 上运行多个应用 - 这就是原因我想创建子域

app1 should launch on app1.mydomain.com 
app2 should launch on app2.mydomain.com 
app3 should launch on app3.mydomain.com 

我怎样才能做到这一点?

我在 stack-overflow 上搜索了类似的主题,但没有任何帮助。

请帮忙。

【问题讨论】:

  • 为什么不在不同的端口上运行每个应用程序,让网络服务器为您管理?
  • 这个应用程序应该由客户使用 - 对他们来说,记住 app1.mydomain.com 而不是 app1.mydomain.com:8252 会更容易:)
  • 你错过了我说的重点。应用程序在不同的端口上运行。但是,Web 服务器将处理子域映射。 app1.mydomain.com 将指向 80 端口,但 Web 服务器会将其映射到 localhost:8252

标签: java apache tomcat


【解决方案1】:

实际上我这样解决了我的问题: 我已在 Program Files (x86)\Apache Software Foundation\Tomcat 8.0\conf 文件夹中配置了 server.xml 文件

在那里找到了这段代码:

 <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">

    <!-- SingleSignOn valve, share authentication between web applications
         Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->

    <!-- Access log processes all example.
         Documentation at: /docs/config/valve.html
         Note: The pattern used is equivalent to using pattern="common" -->
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  </Host>

复制它并用我的子域替换这些值:

 <Host name="app1.mydomain.com "  appBase="app1.mydomain.com "
        unpackWARs="true" autoDeploy="true">

    <!-- SingleSignOn valve, share authentication between web applications
         Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->

    <!-- Access log processes all example.
         Documentation at: /docs/config/valve.html
         Note: The pattern used is equivalent to using pattern="common" -->
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  </Host>

实际上就是这样。

对于我自己,我还删除了默认 localhost HOST,现在我只有子域。

【讨论】:

    猜你喜欢
    • 2016-01-10
    • 1970-01-01
    • 2010-09-25
    • 2012-12-14
    • 2015-11-04
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多