Tomcat部署多个war包
前言
一个Tomcat部署多个war包:一共有两种方案可以实现
- 第一种方案【不推荐】:在同一个webapps文件夹中,存放多个war包。
- 缺点:如test.war包
- 多个服务使用同一个端口;
- 服务请求时,访问地址要加上war包名称:localhost:8080/test/**;
- 服务注册到Eureka服务中心时,要修改war包的服务配置文件,修改访问地址为localhost:8080/eureka/eureka,才能注册到注册中心。
- 缺点:如test.war包
- 第二种方案 【推荐】:多个war包部署在多个webapps
- 优点:不需要修改太多war包的服务配置文件
一、部署步骤(第二种方案)
多个war包部署在多个webapps
以两个war包为例:base.war包、fas.war包
1.复制webapps文件夹
复制两个新的webapps文件夹(里面的子文件一并复制),用来存放war包:webapps_base、webapps_fas
2.把war包分别存放在对应的webapps文件夹下
3.修改apache-tomcat-8.5.20/conf目录下的server.xml文件
添加配置如下(示例):添加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>