前一段时间在工作中碰到了这样一个需求 就是在同一个tomcat服务器下部署多个项目并且要用不同的端口进行访问, 研究之后终于可以部署成功了,在这里与大家分享一下,如有不对的地方还请高人指点
修改tomcat的conf目录下的server.xml配置文件 里边有一个<service>...</service>节点,如下:
- <Service name="Catalina">
- <Connector port="8080" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="443"
- emptySessionPath="true" />
- <Connector port="443"
- protocol="org.apache.coyote.http11.Http11NioProtocol"
- SSLEnabled="true"
- maxThreads="150"
- scheme="https"
- secure="true"
- emptySessionPath="true"
- keystoreFile="conf/.keystore"
- keystorePass="123qwe"
- clientAuth="false"
- sslProtocol="TLS" />
- <Engine name="Catalina" defaultHost="localhost">
- <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
- resourceName="UserDatabase"/>
- <Host name="localhost" appBase="webapps"
- unpackWARs="true" autoDeploy="true"
- xmlValidation="false" xmlNamespaceAware="false"
- errorReportValveClass="com.captech.catalina.valves.XmlErrorReportValve">
- </Host>
- </Engine>
- </Service>
这个配置文件其实是可以有多个<service>...</service>节点,想要增加多个部署目录只要写多个service节点就可以了 不过要注意以下几点:
1. service节点的name属性 同一个配置文件中不能使用相同的名称
2. 端口的配置, 一定要注意端口不能互相冲突, 否则会报错
3. 在Host节点下有这样一个属性 appBase="webapps" 这里的appBase就是你项目的部署目录,默认为webapps, 当你增加多个service节点的时候 这里也要改成对项目相对映的目录.这个目录下的项目访问端口就是当前service节点下配置的端口.
以下是配置好的完整内容:
- <Service name="Catalina">
- <Connector port="8080" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="443"
- emptySessionPath="true" />
- <Connector port="443"
- protocol="org.apache.coyote.http11.Http11NioProtocol"
- SSLEnabled="true"
- maxThreads="150"
- scheme="https"
- secure="true"
- emptySessionPath="true"
- keystoreFile="conf/.keystore"
- keystorePass="123qwe"
- clientAuth="false"
- sslProtocol="TLS" />
- <Engine name="Catalina" defaultHost="localhost">
- <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
- resourceName="UserDatabase"/>
- <Host name="localhost" appBase="webapps"
- unpackWARs="true" autoDeploy="true"
- xmlValidation="false" xmlNamespaceAware="false"
- errorReportValveClass="com.captech.catalina.valves.XmlErrorReportValve">
- </Host>
- </Engine>
- </Service>
- <Service name="Catalina1">
- <Connector port="8081" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="444"
- emptySessionPath="true" />
- <Connector port="444"
- protocol="org.apache.coyote.http11.Http11NioProtocol"
- SSLEnabled="true"
- maxThreads="150"
- scheme="https"
- secure="true"
- emptySessionPath="true"
- keystoreFile="conf/.keystore"
- keystorePass="123qwe"
- clientAuth="false"
- sslProtocol="TLS" />
- <Engine name="Catalina1" defaultHost="localhost">
- <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
- resourceName="UserDatabase"/>
- <Host name="localhost" appBase="webapps1"
- unpackWARs="true" autoDeploy="true"
- xmlValidation="false" xmlNamespaceAware="false"
- errorReportValveClass="com.captech.catalina.valves.XmlErrorReportValve">
- </Host>
- </Engine>
- </Service>
如上配置 端口8081访问部署目录为webapps1下的项目,8080端口访问的则是webapps下的项目.还要注意一点 就是这个appBase的指定目录是什么 就要在tomcat根目录下建立一个同名的文件夹 用于存放项目
相关推荐
一个tomcat部署多个项目并通过不同的端口访问
里面是一个8.5的tomcat,在对应的webapps下部署了,我写的两个简单的web页面,用于测试一个tomcat配置多个端口运行多个项目。
多个系统想用不同的端口访问一般需要启动多个Tomcat 现在不需要了,可以通过设置server.xml达到一个Tomcat下运行多个系统并且各个系统的访问端口不相同
使用Tomcat Manager这个Web应用程序或者操纵已经部署的Web应用程序 Tomcat Manager 是一款工具它提供基于以URL为基础的Web应用程序部署特性。也有一种工具被称为Client Deployer, 它是一种基于脚本的“命令shell”...
绝对成功,自己要用到的环境,千方百计寻找总结出的 亲测有效!
在tomcat下部署多个项目,在本例中实现同一端口号的多个项目部署
Tomcat7部署多个Web项目的方法-有图有真相,不下你后悔。
在tomcat上面不部署多个项目,各种方法详细介绍,详细操作,不同方法的对比和分析,结合eclipse使用。
一个tomcat对应多个端口,将基本件与其他文件分开方便做升级,详细配置文档
该文档讲解了如何利用Apache来代理Tomcat服务器下的多个web项目,从而实现通过域名直接访问Tomcat下多个非80端口的项目.
在Tomcat启动时会去webapps下访问默认ROOT目录下的应用程序,这就导致你始终不能直接访问的原因 切记切记切记,这才是关键 先将它原始就有的ROOT删掉 把 自己的项目包“oa.war” 改成 “ROOT.war” 即可,因为下面的...
同时部署多个Tomcat,同时部署多个Tomcat,同时部署多个Tomcat,同时部署多个Tomcat,同时部署多个Tomcat
tomcat配置默认访问项目,配置后可直接通过ip地址加端口号访问项目
一个服务器上搭建了多个tomcat或者weblogic,端口不一样,同时启动访问时session丢失。如:A,B两个服务,在浏览器中登录访问A后,当前打开的浏览器上在开一个选项卡访问B服务后,回过来点击访问A时session丢失,...
tomcat解析多个项目配置,并设置默认访问项目。
一个Tomcat如何部署多个项目附多种解决方案及详细步骤.docx
场景:项目1放在tomcat1中,项目2放在tomcat2中,两个tomcat放在同一台服务器上,需要共享80端口访问 注意:这里和集群部署是不同的,集群部署是一个项目放在多个tomcat中。 这里通过nginx做反向代理,nginx请到...
通过修改http访问端口可以同时启动多个Tomcat服务器
本样例说明:weblogic部署应用程序后,集成3个Tomcat服务,自动分配tomcat服务,使用tomcat的80端口访问应用程序。含详细的说明文档,并提供相关的工具、和用到的插件。
主要是介绍如何在tomcat中进行配置,使同一个应用可以通过不同的端口号进行访问。大家可能都遇到过,在某些需要进行安全控制的场景中会应用到,例如:不同地址段只能通过某个端口访问。下面通过这篇文章来详细学习...