在配置tomcat虛擬主機時候,如何每一個虛擬主機寫成單獨文件,server.xml包含這些子文件? 如以下《OneinStack》中,添加JAVA環境虛擬主機後tomcat配置文件詳情:
# cat /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)即可
下面是每個單獨虛擬主機文件:
# cat /usr/local/tomcat/conf/vhost/localhost.xml <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/home/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" />
# cat /usr/local/tomcat/conf/vhost/demo.linuxeye.com.xml <Host name="demo.linuxeye.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/home/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" />
# cat /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="/home/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>原文:https://blog.linuxeye.com/429.html