tomcat配置多个host,并且避免重复加载

目录

1.实验描述

2.实验环境

3.实验过程

3.1 创建order和user项目

3.2 打包项目 

3.3 修改tomcat的server.xml的配置

3.4 启动tomcat

3.5 配置本地host

3.6 验证


1.实验描述

     目前有两个域名,分别是:

       order.abc.com

       user.abc.com 

     两个项目,分别是order和user,那么希望在一个tomcat下配置两个host,使得order.abc.com访问order项目,user.abc.com访问user项目,同时要避免两个项目重复加载

2.实验环境

     apache-tomcat-8.5.13、jdk8、win10

3.实验过程

3.1 创建order和user项目

                这里我直接使用springboot快速创建了两个项目order和user,分别在两个项目中做了一个测试Controller如下:

         order:

@RestController
@RequestMapping("/order")
public class TestController {

    @GetMapping("/detail")
    public String order(){
        return "order";
    }
}

       user:

@RestController
@RequestMapping("/user")
public class TestController {

    @GetMapping("/detail")
    public String user() {
        return "user";
    }
}

3.2 打包项目 

        将order和user项目package打成war,然后解压,生成order和user的两个项目。将order和user分别复制到如下两个目录,复制完成后的项目路径如下:

D:/testproject/order

D:/testproject/user

3.3 修改tomcat的server.xml的配置

主要修改的有两处

  1. 修改默认的端口为80
  2. 增加host配置

修改完成后的配置如下:

    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;" />

    
    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="order.abc.com"
            unpackWARs="true" autoDeploy="true">
          <Context path="/" docBase="D:/testproject/order"/> 

        <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="user.abc.com"
            unpackWARs="true" autoDeploy="true">
            <Context path="/" docBase="D:/testproject/user"/> 
        <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>
    </Engine>

3.4 启动tomcat

双击tomcat bin目录下的startup.bat,启动tomcat

3.5 配置本地host

        127.0.0.1 user.abc.com order.abc.com

3.6 验证

访问http://order.abc.com/order/detail,结果如下:

 访问http://user.abc.com/user/detail,结果如下:

 验证成功。同时查看tomcat启动日志,两个项目都仅仅启动一次。实验完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值