`

tomcat同时部属多个项目并且用不同的端口进行访问

阅读更多

前一段时间在工作中碰到了这样一个需求 就是在同一个tomcat服务器下部署多个项目并且要用不同的端口进行访问, 研究之后终于可以部署成功了,在这里与大家分享一下,如有不对的地方还请高人指点

修改tomcat的conf目录下的server.xml配置文件 里边有一个<service>...</service>节点,如下:

  1. <Service name="Catalina">
  2.     <Connector port="8080" protocol="HTTP/1.1"
  3.                connectionTimeout="20000"
  4.                redirectPort="443"
  5.                emptySessionPath="true" />
  6.     <Connector port="443"
  7.                       protocol="org.apache.coyote.http11.Http11NioProtocol"
  8.                SSLEnabled="true"
  9.                maxThreads="150"
  10.                scheme="https"
  11.                secure="true"
  12.                emptySessionPath="true"
  13.                               keystoreFile="conf/.keystore"
  14.                keystorePass="123qwe"
  15.                clientAuth="false"
  16.                sslProtocol="TLS" />
  17.     <Engine name="Catalina" defaultHost="localhost">
  18.       <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
  19.              resourceName="UserDatabase"/>
  20.       <Host name="localhost"  appBase="webapps"
  21.             unpackWARs="true" autoDeploy="true"
  22.             xmlValidation="false" xmlNamespaceAware="false"
  23.             errorReportValveClass="com.captech.catalina.valves.XmlErrorReportValve">
  24.       </Host>
  25.     </Engine>
  26.   </Service>
复制代码

这个配置文件其实是可以有多个<service>...</service>节点,想要增加多个部署目录只要写多个service节点就可以了 不过要注意以下几点:
1. service节点的name属性 同一个配置文件中不能使用相同的名称
2. 端口的配置, 一定要注意端口不能互相冲突, 否则会报错
3. 在Host节点下有这样一个属性 appBase="webapps" 这里的appBase就是你项目的部署目录,默认为webapps, 当你增加多个service节点的时候 这里也要改成对项目相对映的目录.这个目录下的项目访问端口就是当前service节点下配置的端口.
以下是配置好的完整内容:

  1. <Service name="Catalina">
  2.     <Connector port="8080" protocol="HTTP/1.1"
  3.                connectionTimeout="20000"
  4.                redirectPort="443"
  5.                emptySessionPath="true" />
  6.     <Connector port="443"
  7.                       protocol="org.apache.coyote.http11.Http11NioProtocol"
  8.                SSLEnabled="true"
  9.                maxThreads="150"
  10.                scheme="https"
  11.                secure="true"
  12.                emptySessionPath="true"
  13.                               keystoreFile="conf/.keystore"
  14.                keystorePass="123qwe"
  15.                clientAuth="false"
  16.                sslProtocol="TLS" />
  17.     <Engine name="Catalina" defaultHost="localhost">
  18.       <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
  19.              resourceName="UserDatabase"/>
  20.       <Host name="localhost"  appBase="webapps"
  21.             unpackWARs="true" autoDeploy="true"
  22.             xmlValidation="false" xmlNamespaceAware="false"
  23.             errorReportValveClass="com.captech.catalina.valves.XmlErrorReportValve">
  24.       </Host>
  25.     </Engine>
  26.   </Service>
  27.   
  28.   <Service name="Catalina1">
  29.     <Connector port="8081" protocol="HTTP/1.1"
  30.                connectionTimeout="20000"
  31.                redirectPort="444"
  32.                emptySessionPath="true" />
  33.     <Connector port="444"
  34.                       protocol="org.apache.coyote.http11.Http11NioProtocol"
  35.                SSLEnabled="true"
  36.                maxThreads="150"
  37.                scheme="https"
  38.                secure="true"
  39.                emptySessionPath="true"
  40.                               keystoreFile="conf/.keystore"
  41.                keystorePass="123qwe"
  42.                clientAuth="false"
  43.                sslProtocol="TLS" />
  44.     <Engine name="Catalina1" defaultHost="localhost">
  45.       <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
  46.              resourceName="UserDatabase"/>
  47.       <Host name="localhost"  appBase="webapps1"
  48.             unpackWARs="true" autoDeploy="true"
  49.             xmlValidation="false" xmlNamespaceAware="false"
  50.             errorReportValveClass="com.captech.catalina.valves.XmlErrorReportValve">
  51.       </Host>
  52.     </Engine>
  53.   </Service>
复制代码

如上配置  端口8081访问部署目录为webapps1下的项目,8080端口访问的则是webapps下的项目.还要注意一点 就是这个appBase的指定目录是什么 就要在tomcat根目录下建立一个同名的文件夹 用于存放项目

 

分享到:
评论

相关推荐

    一个tomcat配置多个端口运行不同项目

    本教程将深入探讨如何配置Apache Tomcat 8.5.11以支持在一个实例中同时运行多个项目,每个项目绑定到不同的端口,以实现资源的有效利用和管理。 首先,我们需要了解Tomcat的基本结构。在解压的`apache-tomcat-...

    Tomcat下部署多个项目

    Tomcat下部署多个项目 Tomcat是Apache软件基金会的一个开源的Web应用服务器,能够运行Java Servlet和JavaServer Pages(JSP)。在Tomcat中部署多个项目是一种常见的需求,下面将介绍如何在Tomcat中部署多个项目。 ...

    一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法

    一个服务器上搭建了多个tomcat或者weblogic,端口不一样,同时启动访问时session丢失。如:A,B两个服务,在浏览器中登录访问A后,当前打开的浏览器上在开一个选项卡访问B服务后,回过来点击访问A时session丢失,...

    Tomcat部署为每个应用分配不同端口

    【Tomcat部署为每个应用分配不同端口】的实践与理解 在IT行业中,Tomcat作为流行的Java Servlet容器,常用于部署Web应用程序。部署过程包括安装应用到Tomcat服务器,通常分为静态部署和动态部署两种方式。 **静态...

    一个Tomcat下运行多个系统,并且每个系统的访问端口不一样的配置实例

    多个系统想用不同的端口访问一般需要启动多个Tomcat 现在不需要了,可以通过设置server.xml达到一个Tomcat下运行多个系统并且各个系统的访问端口不相同

    tomcat部署多个项目

    本文将详细介绍在 Tomcat 上部署多个项目的方法及其操作步骤,并对不同的部署方式进行对比分析。 #### 二、部署方式概述 在 Tomcat 上部署多个项目主要通过以下几种方式实现: 1. **直接放置于`webapps`目录:** ...

    weblogic集成多个Tomcat服务,自动分配tomcat服务,80端口访问

    本示例将详细介绍如何使用Oracle WebLogic Server(WLS)集成多个Apache Tomcat服务,实现自动分配Tomcat实例处理请求,并确保通过80端口进行访问。这一过程涉及到集群配置、负载均衡以及端口映射等多个关键知识点。...

    tomcat部署多个项目,通过不同域名解析访问不同的网站

    绝对成功,自己要用到的环境,千方百计寻找总结出的 亲测有效!

    Tomcat7部署多个Web项目的方法-有图有真相

    它支持多个Web应用程序的同时运行,这是通过在Tomcat的配置文件中定义不同的Web应用程序上下文(Context)来实现的。文档中提到了两种部署Web项目的方法,均涉及到修改Tomcat的`server.xml`文件,这是Tomcat的主配置...

    一个Tomcat如何部署多个项目附多种解决方案及详细步骤.docx

    ### 如何在一个Tomcat服务器上部署多个项目:多种解决方案及详细步骤 #### 一、前言 在实际的开发和测试环境中,经常需要在同一台服务器上部署多个项目,以满足不同场景的需求。本文将详细介绍如何在一个Tomcat...

    一个tomcat对应多个端口

    一个tomcat对应多个端口,将基本件与其他文件分开方便做升级,详细配置文档

    详解Tomcat多域名配置(多个项目共用80端口)

    在Tomcat中,一个端口号只能被一个服务占用,所以要实现多个项目的共用80端口,需要通过配置不同的Host来实现。 对于多域名配置,其核心在于修改Tomcat的配置文件`server.xml`。在该文件中,可以定义多个`&lt;Host&gt;`...

    同时启动多个tomcat

    在实际工作中,有时我们需要同时启动多个Tomcat服务器来满足不同的业务需求或者进行性能测试等。这对于初次接触Tomcat的新手管理员来说可能会遇到一定的挑战。本文将详细介绍如何通过简单的配置调整来实现这一目标,...

    同时部署多个Tomcat

    当需要在同一台服务器上运行多个不同的Web应用或者为了负载均衡、故障恢复等原因,我们需要部署多个Tomcat实例。以下是对"同时部署多个Tomcat"这一主题的详细解释: 一、为什么需要同时部署多个Tomcat? 1. 应用...

    Apache代理一个Tomcat服务器下多个项目

    该文档讲解了如何利用Apache来代理Tomcat服务器下的多个web项目,从而实现通过域名直接访问Tomcat下多个非80端口的项目.

    如何在同一系统里同时启动多个Tomcat

    由于Tomcat默认配置会占用特定的端口,因此如果要在同一系统上启动多个Tomcat实例,我们需要对每个实例的配置文件进行适当的修改,以确保它们之间不会发生端口冲突。 首先,我们要了解Tomcat主要使用的四个通讯端口...

    同时运行多个tomcat的方法

    然而,在实际应用中,有时我们可能需要在同一台服务器上运行多个Tomcat实例,这可能是为了满足不同的应用程序需求、测试不同版本的软件或者进行性能测试等目的。下面,我们将深入探讨如何在一台服务器上同时运行多个...

    如何同时启动多个Tomcat服务器

    在现代的软件开发环境中,经常需要同时运行多个Tomcat服务器实例来满足不同的需求,比如开发、测试或者不同应用的独立部署等。本文将详细介绍如何配置并同时启动多个Tomcat服务器实例。 #### 一、理解Tomcat的基本...

    Tomcat访问项目,去掉项目名配置

    在Tomcat启动时会去webapps下访问默认ROOT目录下的应用程序,这就导致你始终不能直接访问的原因 切记切记切记,这才是关键 先将它原始就有的ROOT删掉 把 自己的项目包“oa.war” 改成 “ROOT.war” 即可,因为下面的...

Global site tag (gtag.js) - Google Analytics