如何在Apache Tomcat 8中创建子域

时间:2016-02-19 16:32:13

标签: java apache tomcat

我在我的Windows Server 2012上安装了Apache tomcat 8,我需要存储我的Java应用程序。我有3个应用程序:app1,app2,app3

现在,如果我进入我的 - Tomcat 8.0 \ webapps文件夹war文件名为ROOT.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 

我怎样才能实现这个目标?

我在堆栈溢出中搜索类似的主题,但没有任何帮助。

请帮忙。

1 个答案:

答案 0 :(得分:2)

其实我这样解决了我的问题: 我在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,现在我只有子域名。