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

    本文主要讨论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


  

    这种方式可能是大家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


  

        注意:

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

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

 

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

      
      
      
      
      
      

如上所示,在一个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,配置如下

      
        host2.lmlxj.com
      
       

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

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

 

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

  1.    Tomcat远程调试实践

你可能感兴趣的:(Java,运维)