tomcat学习二: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。
  4. 重启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,成功
相关文章
|
1月前
|
监控 Java 应用服务中间件
部署tomcat部署实战案例
本文是关于Tomcat部署实战案例的教程,包括通过yum和二进制方式部署Tomcat的详细步骤,以及如何监控Tomcat服务。
184 84
部署tomcat部署实战案例
|
2月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
25天前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
3天前
|
XML Java 应用服务中间件
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
这篇文章是关于Apache Tomcat服务器的目录结构、配置文件(特别是server.xml)的详细介绍和学习指南。
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
|
11天前
|
Java 应用服务中间件 Maven
idea+maven+tomcat+spring 创建一个jsp项目
这篇文章介绍了如何在IntelliJ IDEA中使用Maven和Tomcat创建一个JSP项目,包括配置Maven依赖、设置Tomcat服务器、编写JSP页面、创建控制器和配置文件,以及项目的运行结果。
44 0
idea+maven+tomcat+spring 创建一个jsp项目
|
1月前
|
前端开发 Java 应用服务中间件
react自学(6) 部署到tomcat中
react自学(6) 部署到tomcat中
|
2月前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
|
2月前
|
Docker 容器
【Azure 应用服务】App Server 部署后,Docker报错,找不到8080端口
【Azure 应用服务】App Server 部署后,Docker报错,找不到8080端口
|
3月前
|
弹性计算 应用服务中间件 Linux
阿里云服务器开放端口完整图文教程
笔者近期开发完成的服务端程序部署在阿里云的ECS云服务器上面,一些应用程序配置文件需要设置监听的端口(如Tomcat的8080、443端口等),虽然通过CentOs 7系统的的「防火墙」开放了对应的端口号,任然无法访问端口号对应的应用程序,后面了解到原来还需要设置云服务器的「安全组规则」,开放相应的端口权限,服务端的接口才能真正开放。
609 1
阿里云服务器开放端口完整图文教程
|
3月前
|
弹性计算 运维 数据安全/隐私保护
云服务器 ECS产品使用问题之如何更改服务器的IP地址或端口号
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。