Tomcat學習筆記【3】--- Server.xml配置檔案詳解
本文主要講如何配置Tomcat伺服器。
首先展示一個BS結構圖:
1 server
一個server就表示一個Tomcat例項。
1)port 指定一個埠,這個埠負責監聽關閉tomcat的請求;
2)shutdown 指定向埠傳送的命令字串。
2 service
一個service就是處理請求的服務,裡邊包含了多個connector,實現多個連結。
1)name 指定service的名字。
3 Connector
表示客戶端和service之間的連線。
1)port 指定伺服器端要建立的埠號,並在這個斷口監聽來自客戶端的請求;
2)minProcessors 伺服器啟動時建立的處理請求的執行緒數;
3)maxProcessors 最大可以建立的處理請求的執行緒數;
4)enableLookups 如果為true,則可以通過呼叫request.getRemoteHost()進行DNS查詢來得到遠端客戶端的實際主機名,若為false則不進行DNS查詢,而是返回其ip地址;
5)redirectPort 指定伺服器正在處理http請求時收到了一個SSL傳輸請求後重定向的埠號;
6)acceptCount 指定當所有可以使用的處理請求的執行緒數都被使用時,可以放到處理佇列中的請求數,超過這個數的請求將不予處理;
7)connectionTimeout 指定超時的時間數(以毫秒為單位);
8)protocal 配置協議。
4 Engine
表示指定service中的請求處理機,接收和處理來自Connector的請求。
每個Service元素只能有一個Engine元素.處理在同一個<Service>中所有<Connector>元素接收到的客戶請求.由org.apahce.catalina.Engine介面定義.
Engine用來處理Connector收到的Http請求,它將匹配請求和自己的虛擬主機,並把請求轉交給對應的Host來處理,預設虛擬主機是localhost。
1)defaultHost 指定預設的處理請求的主機名,它至少與其中的一個host元素的name屬性值是一樣的。
5 Context
表示一個web應用程式。
1)docBase 應用程式的路徑或者是WAR檔案存放的路徑;
2)path 表示此web應用程式的url的字首,這樣請求的url為http://localhost:8080/path/****;
3)reloadable 這個屬性非常重要,如果為true,則tomcat會自動檢測應用程式的/WEB-INF/lib 和/WEB-INF/classes目錄的變化,自動裝載新的應用程式,我們可以在不重起tomcat的情況下改變應用程式。
6 host
表示一個虛擬主機。
1)name 指定主機名;
2)appBase 應用程式基本目錄,即存放應用程式的目錄;
3)unpackWARs 如果為true,則tomcat會自動將WAR檔案解壓,否則不解壓,直接從WAR檔案中執行應用程式。
7 Logger
表示日誌,除錯和錯誤資訊。
1)className 指定logger使用的類名,此類必須實現org.apache.catalina.Logger 介面
2)prefix 指定log檔案的字首
3)suffix 指定log檔案的字尾
4)timestamp 如果為true,則log檔名中要加入時間,如下例:localhost_log.2001-10-04.txt
8 Realm
表示存放使用者名稱,密碼及role的資料庫。
1)className 指定Realm使用的類名,此類必須實現org.apache.catalina.Realm介面。
9 Valve
功能與Logger差不多,其prefix和suffix屬性解釋和Logger 中的一樣。
1)className 指定Valve使用的類名,如用org.apache.catalina.valves.AccessLogValve類可以記錄應用程式的訪問資訊
10 directory
指定log檔案存放的位置。
1)pattern 有兩個值,common方式記錄遠端主機名或ip地址,使用者名稱,日期,第一行請求的字串,HTTP響應程式碼,傳送的位元組數。combined方式比common方式記錄的值更多
參考資料&內容來源:
速學堂:http://www.sxt.cn/tomcat/xml-1.html