1. 程式人生 > >Tomcat虛擬主機配置(基於域名/端口)

Tomcat虛擬主機配置(基於域名/端口)

Tomcat

什麽是虛擬主機?

虛擬主機就是把一臺真正的主機分成許多“虛擬”的主機,每一臺虛擬主機都具有獨立的域名和IP地址,具有完整的Internet服務器功能。
虛擬主機之間完全獨立,在外界看來,每一臺虛擬主機和一臺獨立的主機完全一樣。

配置文件位置:

tomcat/conf/server.xml文件
2.tomcat的默認端口:8080

1.基於域名的虛擬主機

多個域名解析一個IP地址

<Host name="www.maiya.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Context docBase=‘jspgou‘ path="" reloadable="true" crossContext="true"/>
</Host>

參數說明:

appBase: 指定站點根目錄位置(可以是相對路徑或絕對路徑)

unpackWAR :本項為"true" 意味著 Tomcat 會保存 .war 包的解壓結果,然後直接對解壓結果進行運行。
考慮到jvm的類加載機制,每個類都僅加載一次,但是頁面內容卻沒有類似的有效緩存,所以 .war 還是解壓執行的比較好。

path: 指定訪問路徑URI(虛擬目錄名)

docBase :指定jsp項目的存放路徑(可以是相對路徑或絕對路徑)

debug :設定debug的等級0提供最少的信息,9提供最多的信息

reloadable :本項為true時 當web.xml或者class有改動的時候都會自動重新加載不需要從新啟動服務(所謂的支持熱發布功能)

crosscontext :本項為"true" 表示配置的不同context共享一個session

cachingAllowed :本項為"true"時 意味著開啟了 Tomcat 的靜態緩存功能。靜態文件包括 JavaScript 程序、圖片聲音等允許網絡訪問的文件以及 HTML 頁面。

cacheMaxSize :指定靜態緩存功能緩沖區大小的設定。單位是 MB ,也就是 1024KB 。例子中設為 1024 ,意味著1GB 。

2.基於端口虛擬主機

**一個IP地址,通過不同的端口實現不同網站的訪問

關鍵:在server.xml 中 設置兩個service組件,設置不同的端口

**

<Service name="Catalinai1">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <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.maiya.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Context docBase=‘jspgou‘ path="" reloadable="true" crossContext="true"/>
        </Host>
        <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
        <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>
    </Engine>
  </Service>

<Service name="Catalina2">
    <Connector port="8090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <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.maiya.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Context docBase=‘jspgou‘ path="" reloadable="true" crossContext="true"/>
        </Host>
        <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
        <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>
    </Engine>
  </Service>

Tomcat虛擬主機配置(基於域名/端口)