Tomcat部署多个war包

Tomcat部署多个war包

  • 前言
  • 一、部署步骤(第二种方案)
    • 1.复制webapps文件夹
    • 2.把war包分别存放在对应的webapps文件夹下
    • 3.修改apache-tomcat-8.5.20/conf目录下的server.xml文件


前言

一个Tomcat部署多个war包:一共有两种方案可以实现

  1. 第一种方案【不推荐】:在同一个webapps文件夹中,存放多个war包。
    • 缺点:如test.war包
      • 多个服务使用同一个端口;
      • 服务请求时,访问地址要加上war包名称:localhost:8080/test/**;
      • 服务注册到Eureka服务中心时,要修改war包的服务配置文件,修改访问地址为localhost:8080/eureka/eureka,才能注册到注册中心。
  2. 第二种方案 【推荐】:多个war包部署在多个webapps
    • 优点:不需要修改太多war包的服务配置文件

一、部署步骤(第二种方案)

多个war包部署在多个webapps
以两个war包为例:base.war包、fas.war包

1.复制webapps文件夹

复制两个新的webapps文件夹(里面的子文件一并复制),用来存放war包:webapps_base、webapps_fas
Tomcat部署多个war包_第1张图片
Tomcat部署多个war包_第2张图片

2.把war包分别存放在对应的webapps文件夹下

Tomcat部署多个war包_第3张图片
Tomcat部署多个war包_第4张图片

3.修改apache-tomcat-8.5.20/conf目录下的server.xml文件

Tomcat部署多个war包_第5张图片
Tomcat部署多个war包_第6张图片

添加配置如下(示例):添加Service标签

<!-- base.war服务配置 -->
<!-- name服务名称 -->
<Service name="baseService">

	<!-- port服务端口 -->
	<Connector connectionTimeout="20000" port="8091" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8"/>
  
   	<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
   	<!-- name服务名称 -->
   	<Engine defaultHost="localhost" name="baseService">

     	<Realm className="org.apache.catalina.realm.LockOutRealm">
       		<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
     	</Realm>
    	<!-- appBase=war包存放的新文件夹名称,用来指定对应服务 -->
     	<Host appBase="webapps_base" autoDeploy="true" name="localhost" unpackWARs="true">
       		<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/>
		</Host>
   	</Engine>
</Service>
  
<!-- fas.war服务配置 -->
<Service name="fasService">

	<Connector connectionTimeout="20000" port="8092" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8"/>
  
   	<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

   	<Engine defaultHost="localhost" name="fasService">

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

     	<Host appBase="webapps_fas" autoDeploy="true" name="localhost" unpackWARs="true">
       		<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/>
		</Host>
   	</Engine>
 </Service>

你可能感兴趣的:(容器,tomcat,java)