在配置tomcat虚拟主机时候,如何每一个虚拟主机写成单独文件,server.xml包含这些子文件? 如以下《OneinStack》中,添加JAVA环境虚拟主机后tomcat配置文件详情:
/usr/local/tomcat/conf/server.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE server-xml [
- <!ENTITY localhost-vhost SYSTEM "file:///usr/local/tomcat/conf/vhost/localhost.xml">
- <!ENTITY java.linuxeye.com-vhost SYSTEM "file:///usr/local/tomcat/conf/vhost/java.linuxeye.com.xml">
- <!ENTITY demo.linuxeye.com-vhost SYSTEM "file:///usr/local/tomcat/conf/vhost/demo.linuxeye.com.xml">
- ]>
- <Server port="8006" shutdown="SHUTDOWN">
- <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
- <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
- <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
- <Listener className="org.apache.catalina.core.AprLifecycleListener"/>
- <!--
- <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="8081" rmiServerPortPlatform="8082" />
- -->
- <GlobalNamingResources>
- <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>
- <Service name="Catalina">
- <Connector port="8080"
- protocol="org.apache.coyote.http11.Http11AprProtocol"
- connectionTimeout="20000"
- redirectPort="8443"
- maxThreads="1000"
- minSpareThreads="20"
- acceptCount="1000"
- debug="0"
- disableUploadTimeout="true"
- useBodyEncodingForURI="true"
- enableLookups="false"
- URIEncoding="UTF-8" />
- <Engine name="Catalina" defaultHost="localhost">
- <Realm className="org.apache.catalina.realm.LockOutRealm">
- <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
- resourceName="UserDatabase"/>
- </Realm>
- &localhost-vhost;
- &java.linuxeye.com-vhost;
- &demo.linuxeye.com-vhost;
- </Engine>
- </Service>
- </Server>
注:在<server>元素前添加如下格式:
- <!DOCTYPE server-xml [
- <!ENTITY localhost-vhost SYSTEM "file:///usr/local/tomcat/conf/vhost/localhost.xml">
- ]>
并在<Engine>...</Engine]引用它(localhost-vhost,注:不能以数字开头)即可。
下面是每个单独虚拟主机文件:/usr/local/tomcat/conf/vhost/localhost.xml
- <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
- <Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="true" crossContext="true"/>
- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
- prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
/usr/local/tomcat/conf/vhost/demo.linuxeye.com.xml
- <Host name="demo.linuxeye.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
- <Context path="" docBase="/data/wwwroot/demo.linuxeye.com" debug="0" reloadable="true" crossContext="true"/>
- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
- prefix="demo.linuxeye.com_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
/usr/local/tomcat/conf/vhost/java.linuxeye.com.xml
- <Host name="java.linuxeye.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Alias>java1.linuxeye.com</Alias>
- <Context path="" docBase="/data/wwwroot/java.linuxeye.com" debug="0" reloadable="true" crossContext="true"/>
- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
- prefix="java.linuxeye.com_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
- </Host>
Wed Sep 2 14:06:44 CST 2015