tomcat實現多端口、多域名訪問

tomcat能夠實現:多個端口訪問同一個web應用、不一樣的應用經過不一樣的域名進行訪問。html

本文介紹的都是隻啓動一個tomcat服務的狀況下,固然,實現這些功能也能夠經過啓動多個tomcat服務實現。web

百度經驗:jingyan.baidu.comapache

工具/原料

  • tomcat(以tomcat7.0.50爲例)tomcat

  • 兩個用於測試的web應用安全

百度經驗:jingyan.baidu.com服務器

tomcat實現多端口訪問

  1. 1app

    說明:這個部分介紹如何在tomcat中進行配置,使同一個應用能夠經過不一樣的端口號進行訪問。dom

    在某些須要進行安全控制的場景中會應用到。例如:不一樣地址段只能經過某個端口訪問。webapp

  2. 2工具

    找到tomcat的主目錄,打開conf文件夾,找到並打開server.xml文件。

    編輯server.xml文件,在<Service></Service>標籤中添加:

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

    如圖:

    tomcat實現多端口、多域名訪問步驟閱讀

  3. 3

    進行步驟2中的配置,多端口就完成了,保存並啓動tomcat。

    使用8080端口訪問的效果圖:

    tomcat實現多端口、多域名訪問步驟閱讀

  4. 4

    使用9090端口訪問的效果圖:

    這樣,就實現了不一樣的端口號訪問到同一個應用程序了。若是還想在其餘端口進行監聽,就把步驟2中的內容多添加幾個就好了。

    tomcat實現多端口、多域名訪問步驟閱讀

    END

百度經驗:jingyan.baidu.com

tomcat實現多域名訪問(經過同一個端口號)

  1. 1

    說明:在同一個端口號的狀況下,tomcat能夠配置不一樣的域名對應不一樣的應用程序。

    可是,我不肯定「域名管理服務器」是否支持2個不一樣的域名映射到同一個IP地址的同一個端口。

  2. 2

    找到tomcat的主目錄,打開conf文件夾,找到並打開server.xml文件。

    編輯server.xml文件,在<Service></Service>標籤中添加:

          <Host name="www.domain2.com"  appBase="webapps"            unpackWARs="true" autoDeploy="true">         <Context path="" docBase="/myweb2"/>        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"               prefix="localhost_access_log." suffix=".txt"               pattern="%h %l %u %t &quot;%r&quot; %s %b" />      </Host>

    如圖:

    tomcat實現多端口、多域名訪問步驟閱讀

  3. 3

    進行步驟2中的配置,保存並啓動tomcat。

    便可實現使用domain1訪問到web1;使用domain2訪問到web2。

    END

百度經驗:jingyan.baidu.com

tomcat實現多域名訪問(使用不一樣的端口號)

  1. 1

    說明:相對於第二種狀況,目前的狀況應該是應用得很廣泛的。

  2. 2

    找到tomcat的主目錄,打開conf文件夾,找到並打開server.xml文件。

    編輯server.xml文件,把<Service>...</Service>標籤拷貝一份,對Service name、監聽端口、域名名稱、默認加載的應用 進行修改。

    如圖:

    tomcat實現多端口、多域名訪問步驟閱讀

  3. 3

    進行步驟2中的配置,保存並啓動tomcat。

    便可實現使用domain1訪問到web1;使用domain2訪問到web2。

  4. 4

    說明:第三種狀況與第二種狀況最大的區別就在因而使用另外一個端口號,這也是廣泛的狀況吧。(不一樣的域名映射到不一樣的端口)

    END

百度經驗:jingyan.baidu.com

tomcat實現多應用多端口訪問

1、Tomcat 安裝後自己提供了一個server,端口配置默認是8080,對應目錄爲:..\Tomcat 6.0\webapps
2、Tomcat 6.0 配置多個端口,其實也就是給Tomcat增長几個server,並設置對應目錄。下面以增長兩個端口號爲例
第一步、修改server.xml[..\Tomcat 6.0\conf]
(1)Tomcat提供的以下:

Xml代碼 複製代碼 收藏代碼

  1. <Service name="Catalina">  

  2.      

  3.     <Connector port="8090" maxHttpHeaderSize="8192"  

  4.                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  

  5.                enableLookups="false" redirectPort="8443" acceptCount="100"  

  6.                connectionTimeout="20000" disableUploadTimeout="true" />  

  7.       

  8.     <Connector port="8009"   

  9.                enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />  

  10.   

  11.   

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

  13.   

  14.   

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

  16.              resourceName="UserDatabase"/>  

  17.         

  18.       <Host name="localhost" appBase="webapps"  

  19.        unpackWARs="true" autoDeploy="true"  

  20.        xmlValidation="false" xmlNamespaceAware="false">                

  21.       </Host>  

  22.   

  23.   

  24.     </Engine>  

  25.   

  26.   

  27. </Service>  

<Service name="Catalina">
   
    <Connector port="8090" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
    
    <Connector port="8009" 
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />


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


      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
      
      <Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">              
      </Host>


    </Engine>


</Service>

 

(2)比着上面的葫蘆畫下面的瓢、新增兩個端口號,注意Service name、Engine name、appBase,
固然了,端口號別忘了修改,以避免重複。

Xml代碼 複製代碼 收藏代碼

  1. <Service name="Catalina1">  

  2.      

  3.     <Connector port="8091" maxHttpHeaderSize="8192"  

  4.                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  

  5.                enableLookups="false" redirectPort="8443" acceptCount="100"  

  6.                connectionTimeout="20000" disableUploadTimeout="true" />  

  7.       

  8.     <Connector port="8009"   

  9.                enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />  

  10.   

  11.   

  12.     <Engine name="Catalina1" defaultHost="localhost">  

  13.   

  14.   

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

  16.              resourceName="UserDatabase"/>  

  17.         

  18.       <Host name="localhost" appBase="webapps1"  

  19.        unpackWARs="true" autoDeploy="true"  

  20.        xmlValidation="false" xmlNamespaceAware="false">                

  21.       </Host>  

  22.   

  23.   

  24.     </Engine>  

  25.   

  26.   

  27. </Service>  

<Service name="Catalina1">
   
    <Connector port="8091" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
    
    <Connector port="8009" 
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />


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


      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
      
      <Host name="localhost" appBase="webapps1"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">              
      </Host>


    </Engine>


</Service>

 

Xml代碼 複製代碼 收藏代碼

  1. <Service name="Catalina2">  

  2.      

  3.     <Connector port="8092" maxHttpHeaderSize="8192"  

  4.                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  

  5.                enableLookups="false" redirectPort="8443" acceptCount="100"  

  6.                connectionTimeout="20000" disableUploadTimeout="true" />  

  7.       

  8.     <Connector port="8009"   

  9.                enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />  

  10.   

  11.   

  12.     <Engine name="Catalina2" defaultHost="localhost">  

  13.   

  14.   

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

  16.              resourceName="UserDatabase"/>  

  17.         

  18.       <Host name="localhost" appBase="webapps2"<!-- 這個地方很重要,我今天沒修改這個,致使webapps下的幾個應用均可以用多個端口訪問,結果只好將默認的webapps下的應用拷到其餘地方,在${tomcat_home}/conf/下建立Catalina2/localhost/,並建立不一樣的xml文件將docBase指向應用所在的路徑-->  

  19.        unpackWARs="true" autoDeploy="true"  

  20.        xmlValidation="false" xmlNamespaceAware="false">                

  21.       </Host>  

  22.   

  23.   

  24.     </Engine>  

  25.   

  26.   

  27. </Service>  

<Service name="Catalina2">
   
    <Connector port="8092" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
    
    <Connector port="8009" 
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />


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


      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
      
      <Host name="localhost" appBase="webapps2"<!-- 這個地方很重要,我今天沒修改這個,致使webapps下的幾個應用均可以用多個端口訪問,結果只好將默認的webapps下的應用拷到其餘地方,在${tomcat_home}/conf/下建立Catalina2/localhost/,並建立不一樣的xml文件將docBase指向應用所在的路徑-->
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">              
      </Host>


    </Engine>


</Service>

 第二步、建立相應的部署目錄
..\Tomcat 6.0\webapps1
..\Tomcat 6.0\webapps2
同時能夠將Tomcat 6.0\webapps下的有用的複製到新建的部署目錄

第三步、建立配置文件目錄和配置文件
..\Tomcat 6.0\conf\Catalina1\localhost
..\Tomcat 6.0\conf\Catalina2\localhost


host-manager.xml
manager.xml


配置文件的配置可參照..\Tomcat 6.0\conf\Catalina\localhost下的,只須要修改一下對應目錄便可


大概的配置步驟就是這些,如今能夠把不一樣的war包放在不一樣的位置來訪問了
以上配置方法一樣適合Tomcat 5.5

注意事項

  • 要使用域名訪問,用戶得先去得到域名地址。

  • 經過域名管理服務,域名地址要被解析成IP地址+端口號。

相關文章
相關標籤/搜索