tomcat配置文件

一、tomcat的配置文件目錄與目錄下的詳細內容

[root@py conf]# pwd

/usr/local/tomcat/conf

[root@py conf]# ls

Catalina             context.xml         tomcat-users.xml

catalina.policy      logging.properties  web.xml

catalina.properties  server.xml

1、server.xml詳解

server.xml爲核心配置文件


1.1 server.xml配置文件的層次結構:

<server>

     <service>

     <connector />

     <engine>

     <host>

     <context></context>

     </host>

     <host>

     <context></context>

     </host>

     </engine>

     </service>

</server>

1.2、server.xml組件類別:

        頂級組件:位於整個配置的頂層,如server。

        容器類組件:可以包含其它組件的組件,如service、engine、host、context。

        連接器組件:連接用戶請求至tomcat,如connector。

        被嵌套類組件:位於一個容器當中,不能包含其他組件,如Valve、logger。

1.3、組件詳解:

   engine:核心容器組件,catalina引擎,負責通過connector接收用戶請求,

           並處理請求,將請求轉至對應的虛擬主機host。

   host:類似於httpd中的虛擬主機;一般而言支持基於FQDN的虛擬主機。

   context:定義一個應用程序,是一個最內層的容器類組件(不能在嵌套);配置context的主要目的指定對應對的webapp的根目錄,類似於httpd的alias。其還能爲webapp指定額外的屬性,如部署方式等。

   connector:接收用戶請求,類似於httpd的listen配置監聽端口的;

service(服務):將connector關聯至engine;因此一個service內部可以有多個connector,但只能有一個引擎engine。參見,server.xml,service內部有兩個connector,一個engine。因此,一般情況下一個server內部只有一個service;一個service內部只有一個engine,但一個service內部可以有多個connector。事實上一個server內部可以有多個service;每個service內部只有一個engine,但一個service內部可以有多個connector。

   server:表示一個運行於JVM中的tomcat實例。

   Valve:閥門,攔截請求並在將其轉至對應的webapp前進行某種處理操作,可以用於任何容     器中,比如記錄日誌(access log valve)、基於IP做訪問控制(remote address filter valve)。

   logger:日誌記錄器,用於記錄組件內部的狀態信息;可以用於除context外的任何容器中。

   realm:可以用於任意容器類的組件中,關聯一個用戶認證庫,實現認證和授權。

可以關聯的認證庫有兩種:UserDatabaseRealm、MemoryRealm和JDBCRealm。

   UserDatabaseRealm:使用JNDI自定義的用戶認證庫。

   MemoryRealm:認證信息定義在tomcat-users.xml中。

   JDBCRealm:認證信息定義在數據庫中,並通過JDBC連接至數據庫中查找認證用戶。

1.4、connector種類:

   (1) http的connector:

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

   (2)AJP(Apache Jserv Protocol)的connector:AJP爲二進制協議,專用於tomcat與apache建立通信的, 在httpd反向代理用戶請求至tomcat時使用(可見Nginx反向代理時不可用AJP協議)。

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

1.5、其中的屬性介紹

  (1)Connector的屬性說明:

   port:監聽的端口,默認爲0

   address:指定連接器監聽的地址,默認爲所有地址(即0.0.0.0)

   protocol:連接器使用的協議,默認爲http/1.1.定義AJP協議時通常爲AJP/1.3

   redirectPort:如果莫連接器支持的協議爲HTTP,當接收客戶端發來的HTTPS請求時,則轉發至此屬性定義的端口。

   maxThreads:支持的最大併發連接數,默認爲200,這個在正式服務器需要調整。

   connectionTimeout:等待客戶端發送請求的超時時間,單位爲毫秒,默認爲60000,即1分鐘。

   enableLookups:是否通過request.getRemoteHost()進行DNS查詢以獲取客戶端主機名,默認爲true,這個影響效率最好關掉。

   acceptCount:設置等待隊列的最大長度,通常在tomcat所有處理線程均處於繁忙狀態時,新發來的請求將被放置於此等待隊列中。

  (2)host的屬性說明:

   name:host的名稱,一般爲name="localhost"。

   appBase:應用程序存放路徑,一般爲appBase="webapps" ,相對於CATALINA_HOME而言的,也可以寫絕對路徑。

   autoDeploy:在tomcat啓動時,是否自動部署。

   unpackWARS:是否自動解壓war文件,一般爲unpackWARS="true"。

   xmlValidation:是否啓動xml的校驗功能,一般xmlValidation="false"。

   xmlNamespaceAware:檢測名稱空間,一般xmlNamespaceAware="false"。

  (3)context的屬性說明:

   docBase:相應的Web應用程序的存放位置,也可以使用相對路徑,起始路徑爲此Context所屬Host中appBase定義的路徑。

   path:相對於Web服務器根路徑而言的URI,如果爲空,則表示爲此webapp的根路徑。

   reloadable:是否允許重新加載此context相關的web應用程序的類,默認爲false


   2.web.xml

    web.xml爲部署於此tomcat實例上的所有webApp提供默認部署描述符;通常用於爲webapp提供基本的servlet定義和MIME映射表等。

         3.context.xml

        context.xml:上下文配置文件,爲部署於此tomcat實例上的所有webApp(web應用程序)提供默認配置文件;

        context.xml常用於定義會話管理器、JDBC以及Realm等。但每個webApp均可有自己獨有的context.xml,通常放置於每個webApp目錄的META-INF。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章