单个tomcat部署多个应用
server.xml
<Server port="20003" 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.GlobalResourceLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<Service name="Catalina">
<Connector port="10002" protocol="org.apache.coyote.http1.Http1NioProtocol"
connectionTimeout="20000"
acceptCount="5000" maxHttpHeaderSize="8192" maxThreads="1500"
enableLookups="false"
redirectPort="8443" URIEncoding="UTF-8" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="c163">
<Host name="localhost" appBase="/www/test/webclient1/"
unpackWARs="true" autoDeploy="false">
<Alias>www.test1.com</Alias>
<Alias>www.2013.test1.com</Alias>
<Value className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" resolveHosts="false"/>
</Host>
</Engine>
</Service>
<Service name="Catalina">
<Connector port="10003" protocol="org.apache.coyote.http1.Http1NioProtocol"
connectionTimeout="20000"
acceptCount="5000" maxHttpHeaderSize="8192" maxThreads="1500"
enableLookups="false"
redirectPort="8443" URIEncoding="UTF-8" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="c164">
<Host name="localhost" appBase="/www/test/webclient2/"
unpackWARs="true" autoDeploy="false">
<Alias>www.test2.com</Alias>
<Alias>www.2013.test2.com</Alias>
<Value className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" resolveHosts="false"/>
</Host>
</Engine>
</Service>
</Server>
想要部署更多的业务,可以多加几个 <Service> .* </Service> 段!
多个tomcat分别部署多个业务.
配置文件相同,只是有不同的tomcat目录. 例如 /usr/local/tomcat1, /usr/local/tomcat2。在里面写不同的server.xml!这样做,可以针对不同的重要业务分别来跑,并且可以在不同的机器上跑相同的tomcat,做负载均衡。通过前端的nginx来调度。
如果所有的项目都很重要的话,那么最好启动不同的tomcat,因为tomcat一旦重启,上面的所有应用都会重启. 当然,由于这个原因,可以将一些不重要的应用,统一部署到一台tomcat上面.
转载
当前 tomcat 部署位置 /usr/local/tomcat, 希望应用存放到 /data 可以通过下面方法实现
方法1
$CATALINA_HOME/conf/server.xml
<Context path ="/tao" reloadable ="false" docBase ="/usr/local/tomcat" workDir ="/data" />
当前可以通过 http://localhost:8080/tao 对应用进行访问
方法2
$CATALINA_HOME/conf/Catalina/localhost 目录下增加 如 tao.xml 文件 内容如下
<Context path = "/tao" docBase = "/data"
debug ="0" privileged ="true" reloadable ="false">
</Context>
参考