一个tomcat服务实现多个应用目录的配置
1、目的:在服务器上安装一个tomcat实现多个应用的服务
2、步骤:修改$TOMCAT_HOME/conf/server.xml,其中service部分就是配置的一个应用服务,复制多个service,则就建立多个应用服务。
3、内容:<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>
  <!-- 第一个应用服务 :采用tomcat默认配置-->
  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <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 "%r" %s %b" />
      </Host>
    </Engine>
  </Service>
   <!-- 第二个应用服务 :需要修改一些端口和目录-->
   <Service name="Catalina2"> <!-- 1:需要修改name名称和上面service的不一样-->
    <Connector port="8088" protocol="HTTP/1.1"  
               connectionTimeout="20000"
               redirectPort="8443" />  <!-- 2:需要修改port端口号和上面service的不同,防止端口冲突,这里改为8088,这样访问该应用的url: http://localhost:8088/ -->
   
    <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />  <!-- 3:需要修改port端口号和上面service的不同,防止端口冲突,这里改为8019-->
    <Engine name="Catalina2" defaultHost="localhost">   <!-- 4:需要修改engine的名字和上面的不同-->
		  <Realm className="org.apache.catalina.realm.LockOutRealm">
			 <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  resourceName="UserDatabase"/>
		  </Realm>
		  <Host name="localhost"  appBase="c:/test/webapps" 
				unpackWARs="true" autoDeploy="true">   <!-- 5:需要修改appBase的目录为新的应用的目录,这里改为c:/test/webapps,也就是新应用程序部署的新目录-->
			<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
				   prefix="localhost_access_log." suffix=".txt"
				   pattern="%h %l %u %t "%r" %s %b" />
		  </Host>
    </Engine>
  </Service>
</Server>想实现更多的应用服务添加相应的service即可,注意service name不能相同,端口不能相同
4、实验:
默认目录的部署:
首先是tomcat的默认应用中,我们在tomcat/webapps下部署一个web应用为jcyy.war,那么启动tomcat后,就应该是这么访问: http://localhost:8080/jcyy/index.jsp
新应用目录的部署:
在上面server.xml中配置第二个service时,指定的appBase="c:/test/webapps",那么,我们部署一个web应用srie.war到该目录下,启动tomcat,则访问路径为:http://localhost:8088/srie/index.html
【注】:其实启动一次tomcat后,两个应用服务就都启动了,只需部署到不同目录后,浏览器直接对应不同的端口访问不同的应用即可。
相关推荐
  likesyour    2020-08-01  
   likesyour    2020-06-07  
   ErixHao    2020-06-03  
   GDreams0    2020-06-01  
   nullcy    2020-04-25  
   visionzheng    2020-04-20  
   ganjing    2020-02-16  
   Mr丶Yang    2020-01-23  
   luckyxl0    2019-12-24  
   GDreams0    2019-12-22  
   Julywhj    2019-12-14  
   likesyour    2019-12-06  
   ganjing    2019-11-09  
   AndrewYuan    2019-11-09  
   AndrewYuan    2019-11-06  
   longdan0    2017-07-27  
   Cshnuscw    2015-06-24  
   tulunta    2015-06-24  
   DeadKnight    2019-04-07