Tomcat多个Host及默认应用设置及Tomcat启动时应用加载2次问题处理

30 篇文章 0 订阅

    本文主要讨论tomcat下多host域名设置、默认应用设置,设置默认应用时经常出现的Tomcat启动应用会被加载2次问题处理,如何配置多域名指向同一个WEB项目。文中使用的软件环境为:

    1)pc:mac 10.12.6,jdk:1.8

    2)tomcat:8.0.52,端口号:8080

一、默认应用设置

       假设有一web项目,其项目名称为web-demo,发布到tomcat的webapps下之后,其context为/web-demo,访问http://localhost:8080/web-demo,即可出现该项目的首页。通常我们希望访问http://localhost:8080即可实现web-demo项目的快速访问,为此需要将web-demo设置为默认应用。

        1、设置context path="" docBase="web-demo"(不推荐)

        修改conf/server.xml

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
  <Context path="" docBase="web-demo" />
</Host>

    这种方式可能是大家baidu能见到最多的一种实现方式啦,但是有问题,应用被加载了2次,对应两个context:

    1)/,系设置context path="" ...所致,即可以访问http://localhost:8080;

    2)/web-demo,系默认加载webapps应用web-demo所致,即访问http://localhost:8080/web-demo也可以;

     2、覆盖ROOT应用(推荐)

    webapps目录下,有一个tomcat默认应用ROOT,那么只要web-demo.war解压时可以自动解压到ROOT目录即可实现tomcat去掉项目名称访问,设置如下:

      修改conf/server.xml

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
  <Context path="" docBase="wars/web-demo" />
</Host>

        注意:

        1)webapps目录下,新建wars文件夹,将web-demo.war应用发布到wars文件夹下;

        2)启动tomcat前,先把webapps目录下的ROOT文件夹删除掉,否则不会解压到ROOT目录下;

 

二、多Host配置,修改conf/server.xml,如下所示

      <Host name="host1.lmlxj.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
      <Context path="" docBase="wars/web-demo" />
      </Host>
      <Host name="host2.lmlxj.com"  appBase="host2" unpackWARs="true" autoDeploy="true">
      <Context path="" docBase="wars/web-demo" />
      </Host>

如上所示,在一个tomcat下,配置了2个host主机:

1)host1.lmlxj.com, 对应webapps目录下的/wars/web-demo应用,并且设置了默认应用,因此访问http://host1.lmlxj.com:8080即可

2)host2.lmlxj.com,对应host2目录下的/wars/web-demo,并且设置了默认应用,因此访问http://host2.lmlxj.com:8080即可

 三、多域名指向同一个web项目,修改conf/server.xml,配置如下

      <Host name="host1.lmlxj.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Alias>host2.lmlxj.com</Alias>
      <Context path="" docBase="wars/web-demo" />
      </Host> 

http://host1.lmlxj.com:8080,http://host2.lmlxj.com:8080访问的是同一个web应用。

备注:与上述多Host配置区别是多了Alias别名,即映射其它域名,有多个就配置多个Alias。

 

Java开发环境及服务器配置其它相关文章:

  1.    Tomcat远程调试实践
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值