tomcat学习二:tomcat部署多个项目:不修改端口和修改端口 两种方式详解

前言

  1. 很久没有用到tomcat了,因老师需求是springboot项目,打包后是war包,并且部署了多个接口和项目,所以打算系统整理一下,有些地方也借鉴了其他博文,在此表示感谢。
  2. 一个tomcat下如何部署多个项目?Linux跟windows系统下的步骤都差不多,以下linux系统下部署为例。windows系统下部署同理。

方式一:不修改端口,部署多个项目

清楚tomcat目录结构的应该都知道,项目包是放在webapps目录下的,那能否在同一个tomcat的webapps目录下运行多个不同项目呢?答案是可以的。

  1. 将多个项目包放入 webapps 文件夹下
  2. 修改 conf/server.xml 文件,新增web应用节点
    定位到 server.xml 文件结束标签之前,新增 web 应用节点 Context ,一个节点代表一个项目
    <!-- 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 "%r" %s %b" />
    
            <!-- 配置web应用 --> 
            <Context docBase="erp" path="/erp" reloadble="true" />
            <Context docBase="ningmengban" path="/ningmengban" reloadble="true" />
          </Host>
        </Engine>
      </Service>
    </Server>
    
  3. 以上新增Contet内容说明:
  • docBase属性: 指定Web应用的文件路径,可以是绝对路径,也可以给定相对路径
  • path属性: 指定访问该Web应用的URL入口
  • reloadable属性: 若这个属性为true,tomcat服务器在运行状态下会监视WEB-INF/classesWEB-INF/lib目录下class文件的改动,如果监测到class文件被更新,服务器会自动重新加载Web应用。
  • 注意:每个项目本身的一些配置文件修改,例如数据库连接信息配置,请自行配置好,这里不做赘述。
    另外,以上第2步server.xml中新增节点不是必须的,可以直接进入第4步,也ok。
  1. 重启tomcat,浏览器输入访问项目地址
    注意:以开发提供的项目部署文档说明中地址为准,去进行访问测试;
    浏览器访问第一个项目地址:ip:8080/ningmengban/app/register/regiseter.html,成功
    浏览器访问第二个项目地址:ip:8080/erp/regist,成功

方式二:修改端口,部署多个项目

我们已经清楚一个webapps下面可多个项目。另外一种思路则是,可否多个webapps,每个webapps下面运行一个项目?答案也是可以的。

  1. tomcat目下复制 webapps 目录,并重命名为 webapps1
    Tomcat下webapps已经部署了一个项目,复制webapps重命名为webapps1,并在该文件夹下删除第一个项目,放第二个项目

  2. 修改tomcat的 conf/server.xml 文件,设置端口等信息
    1)server.xml已有第一个项目的配置信息,现在需要新增第二个项目的配置,在Server节点下,新增Service节点;第2个Service节点复制第1个Service内容
    2)复制后,做如下端口等配置修改

    <!-- 第二个项目配置 -->
    <!-- 修改第一处: Catalina 改为 Catalina1-->
    <Service name="Catalina1">
    
      <!-- 修改第二处: 8080为http访问端口,为避免冲突,修改端口-->
      <Connector port="8081" protocol="HTTP/1.1"
                 connectionTimeout="20000"
                 redirectPort="8443" />
    
      <!-- 修改第三处: 8009为AJP端口,Apache能通过AJP协议访问Tomcat的8009端口,避免冲突,修改-->
      <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
    
      <!-- 修改第四处: Engine节点,name修改为Catalina1-->
      <Engine name="Catalina1" defaultHost="localhost">
    
        <Realm className="org.apache.catalina.realm.LockOutRealm">
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 resourceName="UserDatabase"/>
        </Realm>
    
        <!-- 修改第五处: 修改Host节点,appBase修改为webapps1(自定义命名)-->
        <Host name="localhost"  appBase="webapps1"
              unpackWARs="true" autoDeploy="true">
    
          <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                 prefix="localhost_access_log" suffix=".txt"
                 pattern="%h %l %u %t "%r" %s %b" />
    
        </Host>
      </Engine>
    </Service>
    
    
  3. 以上修改信息说明:

    • Service的name属性修改为Catelina1
    • http协议访问的Connector port属性修改为8081
    • AJP协议访问的Connector port属性修改为8010
    • Engine的name属性修改为Catelina1
    • Host的appBase属性修改为webapps1
  4. 重启tomcat,浏览器输入访问项目地址
    浏览器访问第一个项目地址:ip:8080/ningmengban/app/register/regiseter.html,成功
    浏览器访问第二个项目地址:ip:8081/erp/regist,成功

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java冯坚持

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值