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 "%r" %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 "%r" %s %b" />
</Host>
</Engine>
</Service>
Tomcat虛擬主機配置(基於域名/端口)