1. 程式人生 > >tomcat多域名繫結之server.xml配置

tomcat多域名繫結之server.xml配置

1、首先需要有一個域名,並且在域名解析中將該域名解析到我們自己伺服器所對應的ip上;
       2、將我們自己伺服器上tomcat的server.xml埠號修改為80,tomcat預設埠號為8080,具體修改見下文server.xml中綠色標註的資訊。
       3、域名繫結,將server .xml檔案中的<Host >資訊修改如下,其name預設為localhost,修改為你自己的域名並且新增<Context>資訊,<Context>中引數path為你的專案根目錄,如專案在該tomcat下直接空著就行,docBase為你的專案名稱,其他的配置如下即可。
      <Host name="www.druid.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Context path="" docBase="bigtiger" 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" />

      </Host>
        4、多域名配置,如果繫結到多個域名只需將上面的<Host/>拷貝多份即可,注意修改其中的name和 <Context/>中的docBase資訊,然後重啟tomcat即可。

下面附上一個完整的tomcat server.xml的配置資訊,其中部分因為註釋被刪掉,有需要看的可以找個原版tomcat看看其中的註釋。

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />

  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
  <Listener className="org.apache.catalina.core.JasperListener" />
  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  <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>

  <Service name="Catalina">

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

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
<Host name="www.druid.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Context path="" docBase="bigtiger" 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" />

      </Host>

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

        <Context path="" docBase="bigtiger" 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" />
      </Host>

      <Host name="monitor.druid.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Context path="" docBase="monitor" 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" />
      </Host>

    </Engine>
  </Service>
</Server>


本文如結合 
Nginx多域名對映到對應不同tomcat的nginx.conf配置詳解
 配置多tomcat的話另外的tomcat資訊需要修改器埠號即可,下面是另外一個tomcat的server.xml的配置資訊,如果沒有使用nginx,可忽略下面這些內容:
<?xml version='1.0' encoding='utf-8'?>

<Server port="8006" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <!-- Security listener. Documentation at /docs/config/listeners.html
  <Listener className="org.apache.catalina.security.SecurityListener" />
  -->
  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
  <Listener className="org.apache.catalina.core.JasperListener" />
  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  <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>

  <Service name="Catalina">

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

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

    <Host name="www.yunbang.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Context path="" docBase="yunbang" 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" />

      </Host>

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

        <Context path="" docBase="yunbang" 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" />

      </Host>

    </Engine>
  </Service>
</Server>

   本文原創,轉載請註明出處