天天看點

tomcat多域名配置

具體請看 http://blog.coocla.org/tomcat-properties-manager.html

<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" />

  <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>

  <!-- 定義的一個名叫“UserDatabase”的認證資源,将conf/tomcat-users.xml加載至記憶體中,在需要認證的時候到記憶體中進行認證 -->

  <Service name="Catalina">

  <!-- # 定義Service元件,同來關聯Connector和Engine,一個Engine可以對應多個Connector,每個Service中隻能一個Engine --!>

    <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

    <!-- 修改HTTP/1.1的Connector監聽端口為80.用戶端通過浏覽器通路的請求,隻能通過HTTP傳遞給tomcat。  -->

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="test.com">

    <!-- 修改目前Engine,預設主機是,www.test.com  -->

    <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

               resourceName="UserDatabase"/>

    </Realm>

    # Realm元件,定義對目前容器内的應用程式通路的認證,通過外部資源UserDatabase進行認證

      <Host name="test.com"  appBase="/web" unpackWARs="true" autoDeploy="true">

      <!--  定義一個主機,域名為:test.com,應用程式的目錄是/web,設定自動部署,自動解壓    -->

        <Alias>www.test.com</Alias>

        <!--    定義一個别名www.test.com,類似apache的ServerAlias -->

        <Context path="" docBase="www/" reloadable="true" />

        <!--    定義該應用程式,通路路徑"",即通路www.test.com即可通路,網頁目錄為:相對于appBase下的www/,即/web/www,并且當該應用程式下web.xml或者類等有相關變化時,自動重載目前配置,即不用重新開機tomcat使部署的新應用程式生效  -->

        <Context path="/bbs" docBase="/web/bbs" reloadable="true" />

        <!--  定義另外一個獨立的應用程式,通路路徑為:www.test.com/bbs,該應用程式網頁目錄為/web/bbs   -->

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/web/www/logs"

               prefix="www_access." suffix=".log"

               pattern="%h %l %u %t "%r" %s %b" />

        <!--   定義一個Valve元件,用來記錄tomcat的通路日志,日志存放目錄為:/web/www/logs如果定義為相對路徑則是相當于$CATALINA_HOME,并非相對于appBase,這個要注意。定義日志檔案字首為www_access.并以.log結尾,pattern定義日志内容格式,具體字段表示可以檢視tomcat官方文檔   -->

      </Host>

      <Host name="manager.test.com" appBase="webapps" unpackWARs="true" autoDeploy="true">

      <!--   定義一個主機名為man.test.com,應用程式目錄是$CATALINA_HOME/webapps,自動解壓,自動部署   -->

        <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="172.23.136.*" />

        <!--   定義遠端位址通路政策,僅允許172.23.136.*網段通路該主機,其他的将被拒絕通路  -->

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/web/bbs/logs"

               prefix="bbs_access." suffix=".log"

        <!--   定義該主機的通路日志      -->

    </Engine>

  </Service>

</Server>

conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>

  <role rolename="manager-gui" />

  <!--  定義一種角色名為:manager-gui    -->

  <user username="cz" password="manager$!!110" roles="manager-gui" />

  <!--  定義一個使用者的使用者名以及密碼,并賦予manager-gui的角色    -->

</tomcat-users>

本文轉自 liqius 51CTO部落格,原文連結:http://blog.51cto.com/szgb17/1772630,如需轉載請自行聯系原作者