国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

tomcat7的配置文件server.xml解析

2024-09-01 13:51:49
字體:
來源:轉載
供稿:網友

這里對tomcat7的server.xml文件進行解釋一下,方便在分析啟動源碼的時候理解Digester做的事情。

<?xml version='1.0' encoding='utf-8'?><Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> <Listener className="org.apache.catalina.security.SecurityListener" /> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <Listener className="org.apache.catalina.core.JasperListener" /> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> <GlobalNamingResources>  <Resource name="UserDatabase" auth="Container"       type="org.apache.catalina.UserDatabase"       description="User database that can be updated and saved"       factory="org.apache.catalina.users.MemoryUserDatabaseFactory"       pathname="conf/tomcat-users.xml" /> </GlobalNamingResources> <Service name="Catalina">  <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"    maxThreads="150" minSpareThreads="4"/>  <Connector port="8080" protocol="HTTP/1.1"        connectionTimeout="20000"        redirectPort="8443" />  <Connector executor="tomcatThreadPool"        port="8080" protocol="HTTP/1.1"        connectionTimeout="20000"        redirectPort="8443" />  <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"        maxThreads="150" SSLEnabled="true" scheme="https" secure="true"        clientAuth="false" sslProtocol="TLS" />  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />  <Engine name="Catalina" defaultHost="localhost">   <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>   <Realm className="org.apache.catalina.realm.LockOutRealm">    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"        resourceName="UserDatabase"/>   </Realm>   <Host name="localhost" appBase="webapps"      unpackWARs="true" autoDeploy="true">    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />    <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></Server>

Server

tomcat中Server代表一個tomcat實例,所以只會存在一個Server,而在配置文件中也是作為頂級元素出現,代碼如下:

<Server port="8005" shutdown="SHUTDOWN">。。。</Server>
  1. port,監聽shutdown命令的端口,-1表示禁用shutdown命令。
  2. shutdown,關閉tomcat的指令。

Listener

監聽器,用來監聽某些事件的發生。

 

復制代碼 代碼如下:

<Listener className="org.apache.catalina.startup.VersionLoggerListener" />

 

VersionLoggerListener,啟動時對tomcat,java,操作系統信息打印日志。

 

復制代碼 代碼如下:

<Listener className="org.apache.catalina.security.SecurityListener" />

 

SecurityListener,啟動tomcat時,做一些安全檢查。

 

復制代碼 代碼如下:

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

 

AprLifecycleListener,用來監聽Apache服務器相關的。

 

復制代碼 代碼如下:

<Listener className="org.apache.catalina.core.JasperListener" />

 

JasperListener,Jasper 2 JSP 引擎,主要負責對更新之后的jsp進行重新編譯。

 

復制代碼 代碼如下:

<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />

 

JreMemoryLeakPreventionListener,防止內存溢出的監聽器。

 

復制代碼 代碼如下:

<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

 

GlobalResourcesLifecycleListener,初始化定義在元素GlobalNamingResources下的全局JNDI資源

 

復制代碼 代碼如下:

<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

 

ThreadLocalLeakPreventionListener,防止ThreadLocal溢出監聽器。

GlobalNamingResources

GlobalNamingResources定義Server的全局JNDI資源。可以為所有的引擎應用程序引用。

<GlobalNamingResources> <Resource name="UserDatabase" auth="Container"    type="org.apache.catalina.UserDatabase"    description="User database that can be updated and saved"    factory="org.apache.catalina.users.MemoryUserDatabaseFactory"    pathname="conf/tomcat-users.xml" /></GlobalNamingResources>

配置文件中定義了一個JNDI,名為UserDatabase,通過conf/tomcat-users.xml的內容,來得到一個用于授權用戶的數據庫,是一個內存數據庫。

Service

<Service name="Catalina">。。。</Service>

Server下面可以有多個Service,Service下面有多個Connector和一個Engine。這里默認的Service名字為Catalina,下面有兩個Connector:Http和AJP。

  1. name,Service顯示的名稱,名字必須唯一。

Connector

<Connector port="8080" protocol="HTTP/1.1"      connectionTimeout="20000"      redirectPort="8443" />

上面是用來處理http請求的Connector。

  1. port,端口號8080。
  2. protocol,協議,http協議
  3. connectionTimeout,響應的最大等待時間,20秒
  4. redirectPort,ssl請求會重定向到8443端口
<Connector executor="tomcatThreadPool"      port="8080" protocol="HTTP/1.1"      connectionTimeout="20000"      redirectPort="8443" />

上面是使用線程池,處理http請求。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"      maxThreads="150" SSLEnabled="true" scheme="https" secure="true"      clientAuth="false" sslProtocol="TLS" />

上面處理ssl請求,端口是8443。

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

上面處理AJP請求,可以將tomcat和apache的http服務器一起運行。

Engine

Engine是容器,一個Service中只包含一個Engine:

<Engine name="Catalina" defaultHost="localhost">...</Engine>

Engine下面可以包含一個多或者多個Host。Engine從http請求的頭信息中的主機名或者ip映射到真確的主機上。

  1. name,Engine的名字,需要唯一。
  2. defaultHost,默認主機名

Cluster

集群相關的配置。tomcat支持服務器集群,可以復制整個集群的回話和上下文屬性,也可以部署一個war包到所有的集群上。

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

Realm

<Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm"     resourceName="UserDatabase"/></Realm>

Realm是一個包含user、password、role的數據庫,Realm可以定義在任何容器中。這里通過外部資源UserDatabase進行認證。

Host

<Host name="localhost" appBase="webapps"   unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"     prefix="localhost_access_log." suffix=".txt"     pattern="%h %l %u %t "%r" %s %b" /></Host>

Host虛擬主機,定義在Engine下面,一個Engine下面可以有多個Host,在一個Host下面可以有多個Context。

  1. name,虛擬主機的網絡名稱,必須有一個host的名字和Engine的defaulHost一樣。
  2. appBase,虛擬主機應用的根目錄,默認是webapps。
  3. unpackWARs,在webapps目錄下的war文件是否應該解壓。
  4. autoDeploy,值為true時,tomcat會定時檢查appBase等目錄,對新的web應用和Context描述文件進行部署。

Value

<Valve className="org.apache.catalina.authenticator.SingleSignOn" /><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"    prefix="localhost_access_log." suffix=".txt"    pattern="%h %l %u %t "%r" %s %b" />

Value在這里是閥門的意思,可以攔截http請求,可以定義在任何容器中。

SingleSignOn 是單點登錄,AccessLogValve是訪問日志的記錄。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 枝江市| 苗栗市| 石河子市| 勐海县| 正定县| 罗平县| 佛冈县| 通州市| 哈尔滨市| 稷山县| 黄梅县| 和林格尔县| 兖州市| 综艺| 福海县| 微博| 灵山县| 龙海市| 宿迁市| 特克斯县| 从江县| 横峰县| 张北县| 朔州市| 长沙市| 泊头市| 宁城县| 呼和浩特市| 手游| 衢州市| 射阳县| 牡丹江市| 沧源| 深泽县| 拉萨市| 仪征市| 京山县| 丹棱县| 晋宁县| 措勤县| 峨眉山市|