在配置tomcat虚拟主机时候,如何每一个虚拟主机写成单独文件,server.xml包含这些子文件? 如以下《OneinStack》中,添加JAVA环境虚拟主机后tomcat配置文件详情:
/usr/local/tomcat/conf/server.xml
- <?xml version=“1.0” encoding=“UTF-8”?>
- <!DOCTYPE server-xml [
- <!ENTITY trustauth.cn-vhost SYSTEM “file:///usr/local/tomcat/conf/vhost/trustauth.cn.xml”>
- <!ENTITY java.trustauth.cn-vhost SYSTEM “file:///usr/local/tomcat/conf/vhost/java.trustauth.cn.xml”>
- <!ENTITY demo.trustauth.cn-vhost SYSTEM “file:///usr/local/tomcat/conf/vhost/demo.trustauth.cn.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=“trustauth.cn”>
- <Realm className=“org.apache.catalina.realm.LockOutRealm”>
- <Realm className=“org.apache.catalina.realm.UserDatabaseRealm”
- resourceName=“UserDatabase”/>
- </Realm>
- &trustauth.cn-vhost;
- &java.trustauth.cn-vhost;
- &demo.trustauth.cn-vhost;
- </Engine>
- </Service>
- </Server>
注:在<server>元素前添加如下格式:
- <!DOCTYPE server-xml [
- <!ENTITY trustauth.cn-vhost SYSTEM “file:///usr/local/tomcat/conf/vhost/trustauth.cn.xml”>
- ]>
并在<Engine>…</Engine]引用它(trustauth.cn-vhost,注:不能以数字开头)即可。
下面是每个单独虚拟主机文件:/usr/local/tomcat/conf/vhost/trustauth.cn.xml
- <Host name=“trustauth.cn” 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=“trustauth.cn_access_log.” suffix=“.txt” pattern=“%h %l %u %t "%r" %s %b” />
/usr/local/tomcat/conf/vhost/demo.trustauth.cn.xml
- <Host name=“demo.trustauth.cn” appBase=“webapps” unpackWARs=“true” autoDeploy=“true”>
- <Context path=“” docBase=“/data/wwwroot/demo.trustauth.cn” debug=“0” reloadable=“true” crossContext=“true”/>
- <Valve className=“org.apache.catalina.valves.AccessLogValve” directory=“logs”
- prefix=“demo.trustauth.cn_access_log.” suffix=“.txt” pattern=“%h %l %u %t "%r" %s %b” />
/usr/local/tomcat/conf/vhost/java.trustauth.cn.xml
- <Host name=“java.trustauth.cn” appBase=“webapps” unpackWARs=“true” autoDeploy=“true”> <Alias>java1.trustauth.cn</Alias>
- <Context path=“” docBase=“/data/wwwroot/java.trustauth.cn” debug=“0” reloadable=“true” crossContext=“true”/>
- <Valve className=“org.apache.catalina.valves.AccessLogValve” directory=“logs”
- prefix=“java.trustauth.cn_access_log.” suffix=“.txt” pattern=“%h %l %u %t "%r" %s %b” />
- </Host>