天天看點

tomcat配置檔案server.xml具體解釋

元素名 屬性 解釋
server port 指定一個port,這個port負責監聽關閉tomcat的請求
shutdown 指定向port發送的指令字元串
service name 指定service的名字
Connector(表示client和service之間的連接配接) 指定server端要建立的port号,并在這個斷口監聽來自client的請求
minProcessors server啟動時建立的處理請求的線程數
maxProcessors 最大能夠建立的處理請求的線程數
enableLookups 假設為true,則能夠通過調用request.getRemoteHost()進行DNS查詢來得到遠端client的實際主機名,若為false則不進行DNS查詢,而是傳回其ip位址
redirectPort 指定server正在處理http請求時收到了一個SSL傳輸請求後重定向的port号
acceptCount 指定當全部能夠使用的處理請求的線程數都被使用時,能夠放到處理隊列中的請求數,超過這個數的請求将不予處理
connectionTimeout 指定逾時的時間數(以毫秒為機關)
Engine(表示指定service中的請求處理機,接收和處理來自Connector的請求) defaultHost 指定預設的處理請求的主機名,它至少與當中的一個host元素的name屬性值是一樣的
Context(表示一個web應用程式,通常為WAR檔案,關于WAR的詳細資訊見servlet規範) docBase 應用程式的路徑或者是WAR檔案存放的路徑
path 表示此web應用程式的url的字首,這樣請求的url為​​http://localhost:8080/path/​​****
reloadable 這個屬性很重要,假設為true,則tomcat會自己主動檢測應用程式的/WEB-INF/lib 和/WEB-INF/classes檔案夾的變化,自己主動裝載新的應用程式,我們能夠在不重起tomcat的情況下改變應用程式
host(表示一個虛拟主機) 指定主機名
appBase 應用程式基本檔案夾,即存放應用程式的檔案夾
unpackWARs 假設為true,則tomcat會自己主動将WAR檔案解壓,否則不解壓,直接從WAR檔案裡執行應用程式
Logger(表示日志,調試和錯誤資訊) className 指定logger使用的類名,此類必須實作org.apache.catalina.Logger 接口
prefix 指定log檔案的字首
suffix 指定log檔案的字尾
timestamp 假設為true,則log檔案名稱中要增加時間,例如以下例:localhost_log.2001-10-04.txt
Realm(表示存放username,password及role的資料庫) 指定Realm使用的類名,此類必須實作org.apache.catalina.Realm接口
Valve(功能與Logger差點兒相同,其prefix和suffix屬性解釋和Logger 中的一樣) 指定Valve使用的類名,如用org.apache.catalina.valves.AccessLogValve類能夠記錄應用程式的訪問資訊
directory 指定log檔案存放的位置
pattern 有兩個值,common方式記錄遠端主機名或ip位址,username,日期,第一行請求的字元串,HTTP響應代碼,發送的位元組數。combined方式比common方式記錄的值很多其它

<Server>元素

它代表整個容器,是Tomcat執行個體的頂層元素.由org.apache.catalina.Server接口來定義.它包括一個

<Service>元素.而且它不能做為不論什麼元素的子元素.

tomcat配置檔案server.xml具體解釋

<

Server

port

="8005"

shutdown

="SHUTDOWN"

debug

="0"

>

1>className指定實作org.apache.catalina.Server接口的類.預設值為

org.apache.catalina.core.StandardServer

2>port指定Tomcat監聽shutdown指令端口.終止server執行時,必須在Tomcatserver所在的機器上發出

shutdown指令.該屬性是必須的.

3>shutdown指定終止Tomcatserver執行時,發給Tomcatserver的shutdown監聽port的字元串.該屬性必須設

<Service>元素

該元素由org.apache.catalina.Service接口定義,它包括一個<Engine>元素,以及一個或多個

<Connector>,這些Connector元素共享用同一個Engine元素

tomcat配置檔案server.xml具體解釋

Service

name

="Catalina"

tomcat配置檔案server.xml具體解釋

="Apache"

   第一個<Service>處理全部直接由Tomcatserver接收的web客戶請求.

   第二個<Service>處理全部由Apahceserver轉發過來的Web客戶請求

1>className 指定實作org.apahce.catalina.Service接口的類.默覺得

org.apahce.catalina.core.StandardService

2>name定義Service的名字

<Engine>元素

每一個Service元素僅僅能有一個Engine元素.元素處理在同一個<Service>中全部<Connector>元素接收到的客

戶請求.由org.apahce.catalina.Engine接口定義.

tomcat配置檔案server.xml具體解釋

Engine

defaultHost

="localhost"

1>className指定實作Engine接口的類,預設值為StandardEngine

2>defaultHost指定處理客戶的預設主機名,在<Engine>中的<Host>子元素中必須定義這一主機

3>name定義Engine的名字

在<Engine>能夠包括例如以下元素<Logger>, <Realm>, <Value>, <Host>

<Host>元素

它由Host接口定義.一個Engine元素能夠包括多個<Host>元素.每一個<Host>的元素定義了一個虛拟主機.它

包括了一個或多個Web應用.

tomcat配置檔案server.xml具體解釋

Host

appBase

="webapps"

unpackWARs

="true"

autoDeploy

1>className指定實作Host接口的類.預設值為StandardHost

2>appBase指定虛拟主機的檔案夾,能夠指定絕對檔案夾,也能夠指定相對于<CATALINA_HOME>的相對檔案夾.假設

沒有此項,默覺得<CATALINA_HOME>/webapps

3>autoDeploy假設此項設為true,表示Tomcat服務處于執行狀态時,可以監測appBase下的檔案,假設有新有

web應用增加進來,會自運公布這個WEB應用

4>unpackWARs假設此項設定為true,表示把WEB應用的WAR檔案先展開為開放檔案夾結構後再執行.假設設為

false将直接執行為WAR檔案

5>alias指定主機名稱,能夠指定多個别名

6>deployOnStartup假設此項設為true,表示Tomcatserver啟動時會自己主動公布appBase檔案夾下全部的Web應用

.假設Web應用中的server.xml沒有對應的<Context>元素,将採用Tomcat預設的Context

7>name定義虛拟主機的名字

在<Host>元素中能夠包括例如以下子元素

<Logger>, <Realm>, <Value>, <Context>

<Context>元素

它由Context接口定義.是使用最頻繁的元素.每一個<Context元素代表了執行在虛拟主機上的單個Web應用.

一個<Host>能夠包括多個<Context>元素.每一個web應用有唯一

的一個相相應的Context代表web應用自身.servlet容器為第一個web應用建立一個

ServletContext對象.

tomcat配置檔案server.xml具體解釋

Context

path

="/sample"

docBase

="sample"

reloadbale

1>className指定實作Context的類,默覺得StandardContext類

2>path指定訪問Web應用的URL入口,注意/myweb,而不是myweb了事

3>reloadable假設這個屬性設為true, Tomcatserver在執行狀态下會監視在WEB-INF/classes和Web-

INF/lib檔案夾CLASS檔案的改運.假設監視到有class檔案被更新,server自又一次載入Web應用

3>cookies指定是否通過Cookies來支援Session,預設值為true

4>useNaming指定是否支援JNDI,預設值為了true

在<Context>元素中能夠包括例如以下元素

<Logger>, <Realm>, <Resource>, <ResourceParams>

<Connector>元素

由Connector接口定義.<Connector>元素代表與客戶程式實際互動的給件,它負責接收客戶請求,以及向客

戶傳回響應結果.

tomcat配置檔案server.xml具體解釋

<Connector

="8080"

maxThread

="50"

minSpareThreads

="25"

maxSpareThread

="75"

tomcat配置檔案server.xml具體解釋

="false"

redirectPort

="8443"

acceptCount

="100"

tomcat配置檔案server.xml具體解釋

="20000"

disableUploadTimeout

/>

tomcat配置檔案server.xml具體解釋

Connection

="8009"

enableLookups

tomcat配置檔案server.xml具體解釋

protocol

="AJP/1.3"

第一個Connector元素定義了一個HTTP Connector,它通過8080port接收HTTP請求;第二個Connector元素定

義了一個JD Connector,它通過8009port接收由其他server轉發過來的請求.

Connector元素共用屬性

1>className指定實作Connector接口的類

2>enableLookups假設設為true,表示支援域名解析,能夠把IP位址解析為主機名.WEB應用中調用

request.getRemoteHost方法傳回客戶機主機名.預設值為true

3>redirectPort指定轉發port.假設目前port僅僅支援non-SSL請求,在須要安全通信的場命,将把客戶請求轉

發至SSL的redirectPortport

HttpConnector元素的屬性

1>className實作Connector的類

2>port設定Tcp/IP端口,預設值為8080,假設把8080改成80,則僅僅要輸入​​http://localhost​

​就可以

由于TCP/IP的預設port是80

3>address假設server有二個以上ip位址,此屬性能夠設定port監聽的ip位址.預設情況下,port會監聽服務

器上全部的ip位址

4>bufferSize設定由port建立的輸入流的緩存大小.預設值為2048byte

5>protocol設定Http協定,預設值為HTTP/1.1

6>maxThreads設定在監聽port的線程的最大數目,這個值也決定了server能夠同一時候響應客戶請求的最大數

目.預設值為200

7>acceptCount設定在監聽port隊列的最大客戶請求數量,預設值為10.假設隊列已滿,客戶必須等待.

8>connectionTimeout定義建立客戶連接配接逾時的時間.假設為-1,表示不限制建立客戶連接配接的時間

JkConnector的屬性

2>port設定AJP端口号

3>protocol必須設定為AJP/1.3

========================================================================================

它代表整個容器,是Tomcat執行個體的頂層元素.由org.apache.catalina.Server接口來定義.它包括一個<Service>元素.而且它不能做為不論什麼元素的子元素.

<Server port="8005" shutdown="SHUTDOWN" debug="0">

1>

className指定實作org.apache.catalina.Server接口的類.預設值為org.apache.catalina.core.StandardServer

2>

port指定Tomcat監聽shutdown指令端口.終止server執行時,必須在Tomcatserver所在的機器上發出shutdown指令.該屬性是必須的.

3>

shutdown指定終止Tomcatserver執行時,發給Tomcatserver的shutdown監聽port的字元串.該屬性必須設定

該元素由org.apache.catalina.Service接口定義,它包括一個<Engine>元素,以及一個或多個<Connector>,這些Connector元素共享用同一個Engine元素

    <Service name="Catalina">

    <Service name="Apache">

    第一個<Service>處理全部直接由Tomcatserver接收的web客戶請求.

    第二個<Service>處理全部由Apahceserver轉發過來的Web客戶請求

className 指定實作org.apahce.catalina.Service接口的類.默覺得org.apahce.catalina.core.StandardService

name定義Service的名字

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

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

className指定實作Engine接口的類,預設值為StandardEngine

defaultHost指定處理客戶的預設主機名,在<Engine>中的<Host>子元素中必須定義這一主機

name定義Engine的名字

它由Host接口定義.一個Engine元素能夠包括多個<Host>元素.每一個<Host>的元素定義了一個虛拟主機.它包括了一個或多個Web應用.

 <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">

className指定實作Host接口的類.預設值為StandardHost

appBase指定虛拟主機的檔案夾,能夠指定絕對檔案夾,也能夠指定相對于<CATALINA_HOME>的相對檔案夾.假設沒有此項,默覺得<CATALINA_HOME>/webapps

autoDeploy假設此項設為true,表示Tomcat服務處于執行狀态時,可以監測appBase下的檔案,假設有新有web應用增加進來,會自運公布這個WEB應用

4>

unpackWARs假設此項設定為true,表示把WEB應用的WAR檔案先展開為開放檔案夾結構後再執行.假設設為false将直接執行為WAR檔案

5>

alias指定主機名稱,能夠指定多個别名

6>

deployOnStartup假設此項設為true,表示Tomcat伺服器啟動時會自己主動公布appBase檔案夾下全部的Web應用.假設Web應用中的server.xml沒有對應的<Context>元素,将採用Tomcat預設的Context

7>

name定義虛拟主機的名字

它由Context接口定義.是使用最頻繁的元素.每一個<Context元素代表了執行在虛拟主機上的單個Web應用.一個<Host>能夠包括多個<Context>元素.每一個web應用有唯一

<Context path="/sample" docBase="sample" debug="0" reloadbale="true">

className指定實作Context的類,默覺得StandardContext類

path指定訪問Web應用的URL入口,注意/myweb,而不是myweb了事

reloadable假設這個屬性設為true, Tomcatserver在執行狀态下會監視在WEB-INF/classes和Web-INF/lib檔案夾CLASS檔案的改運.假設監視到有class檔案被更新,server自又一次載入Web應用

cookies指定是否通過Cookies來支援Session,預設值為true

useNaming指定是否支援JNDI,預設值為了true

Connector元素

由Connector接口定義.<Connector>元素代表與客戶程式實際互動的給件,它負責接收客戶請求,以及向客戶傳回響應結果.

<Connector port="8080" maxThread="50" minSpareThreads="25" maxSpareThread="75" enableLookups="false" redirectPort="8443"

acceptCount="100" debug="0" connectionTimeout="20000"

disableUploadTimeout="true" />

<Connection port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />

第一個Connector元素定義了一個HTTP Connector,它通過8080port接收HTTP請求;第二個Connector元素定義了一個JD Connector,它通過8009port接收由其他server轉發過來的請求.

className指定實作Connector接口的類

enableLookups假設設為true,表示支援域名解析,能夠把IP位址解析為主機名.WEB應用中調用request.getRemoteHost方法傳回客戶機主機名.預設值為true

redirectPort指定轉發port.假設目前port僅僅支援non-SSL請求,在須要安全通信的場命,将把客戶請求轉發至SSL的redirectPortport

className實作Connector的類

port設定Tcp/IP端口,預設值為8080,假設把8080改成80,則僅僅要輸入​​http://localhost​​就可以

address假設server有二個以上ip位址,此屬性能夠設定port監聽的ip位址.預設情況下,port會監聽server上全部的ip位址

bufferSize設定由port建立的輸入流的緩存大小.預設值為2048byte

protocol設定Http協定,預設值為HTTP/1.1

maxThreads設定在監聽port的線程的最大數目,這個值也決定了server能夠同一時候響應客戶請求的最大數目.預設值為200

acceptCount設定在監聽port隊列的最大客戶請求數量,預設值為10.假設隊列已滿,客戶必須等待.

8>

connectionTimeout定義建立客戶連接配接逾時的時間.假設為-1,表示不限制建立客戶連接配接的時間

port設定AJP端口号

protocol必須設定為AJP/1.3