同一个tomcat不同端口运行不同项目

第一步:修改 server.xml 文件

修改 tomcat 安装目录下 conf/server.xml 文件,需要几个端口就添加几个 Service 节点。

配置 2 个端口:9131 和 9133,于是增加两个 Service 节点。

每个 Service 节点的name 属性值要设置不同的值;Service 节点的子节点 Connector 的port 属性设为你要的端口号;Service 节点的子节点Engine 的 name 属性值要设置不同的值,通常和父节点 Service 的 name 属性值相同 ;Service 节点的子节点Host 的 appBase 属性的值设为部署目录的名称。

复制代码
<Service name="Catalina">
    <Connector port="9131" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />
    <Engine name="Catalina" defaultHost="localhost">

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

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

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <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>
  </Service>

<Service name="Catalina1">
    <Connector port="9133" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />
    <Engine name="Catalina1" defaultHost="localhost">

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

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

      <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 &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>

第二步:创建部署目录

根据新增的 Service 节点中的 Host 子节点的 appBase 属性值创建对应的部署目录,复制webapps,然后修改名称为webapps1

第三步:复制 Catalina 目录

复制 tomcat 安装目录下 conf/Catalina 目录一份,重命名为 Catalina1

第四步:复制 policy 和 properties 文件

conf 目录下的 catalina.properties、catalina.policy,分别复制一份。

第五步:部署项目

配置完成后就可以部署项目了。

部署方式一:

把项目分别添加到 webapps 和 webapps1目录中,然后启动服务器
部署方式二:

在 Catalina/localhost 和 Catalina1/localhost 目录下创建以项目的虚拟目录命名的 xml 文件,文件中的 Context 节点的 docBase 属性保存项目的部署包路径,然后启动服务器

第六步:测试

在浏览器的地址栏,用不同的端口号访问项目,测试是否部署成功

参考

相关推荐
码智社24 分钟前
JSON 零基础到资深全体系教程
java·json
wgego2 小时前
基础的反序列化一些总结(php和java)
java·开发语言·笔记
机建狂魔2 小时前
Codex 接入第三方模型 API 实战:以 Mimo 为例
java·服务器·数据库·ai·ai编程·codex
山峰哥3 小时前
数据库工程与SQL调优:从慢查询到秒级响应的实战之路
java·开发语言·数据库·sql·深度优先·启发式算法
乐观的Terry3 小时前
11、发布系统-用户认证与权限体系
java·spring boot·spring·spring cloud·mybatis
前端开发张小七3 小时前
Java 学习笔记 · 第二课:面向对象核心(封装、继承、多态)及接口与异常
java·后端·程序员
wangjialelele3 小时前
Selenium4 + Java Web自动化测试入门指南:从环境搭建到常用操作详解
java·开发语言·前端·测试工具·自动化
孙启超3 小时前
【AI应用开发】LangChain 中 Chain 和 Agent 核心区别?
java·人工智能·langchain·llm·rag·ai应用开发·agent loop
leoZ2313 小时前
实战复盘:用 Claude Code 从零搭一个 GitHub PR 统计工具
java·人工智能·python·深度学习·自然语言处理·github·llama
William Dawson3 小时前
【踩坑实录|Hive1\.2\.1数据服务接口5大疑难问题调试与全方位优化方案】
java·hive·spring boot