1. 程式人生 > >Tomcat學習筆記【3】--- Server.xml配置檔案詳解

Tomcat學習筆記【3】--- Server.xml配置檔案詳解

本文主要講如何配置Tomcat伺服器。

首先展示一個BS結構圖:

server

一個server就表示一個Tomcat例項。

1)port 指定一個埠,這個埠負責監聽關閉tomcat的請求;

2)shutdown 指定向埠傳送的命令字串。

service

一個service就是處理請求的服務,裡邊包含了多個connector,實現多個連結。 

1)name 指定service的名字。

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 配置協議。

Engine

表示指定service中的請求處理機,接收和處理來自Connector的請求。

每個Service元素只能有一個Engine元素.處理在同一個<Service>中所有<Connector>元素接收到的客戶請求.由org.apahce.catalina.Engine介面定義. 

Engine用來處理Connector收到的Http請求,它將匹配請求和自己的虛擬主機,並把請求轉交給對應的Host來處理,預設虛擬主機是localhost。

1)defaultHost 指定預設的處理請求的主機名,它至少與其中的一個host元素的name屬性值是一樣的。

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