Tomcat6.x目錄與server.xml詳解


          本文參考自:Tomcat全攻略

          參考鏈接:http://www.ibm.com/developerworks/cn/java/l-tomcat/index.html#1 

              

              Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,目前最新版本是6.x,相對5.x性能提升很多,主要優化了內存使用,增強IO能力,重新構造集群功能。


               近期對Tomcat6.x作深入學習,參考上述聲明的Tomcat全攻略,由于筆者是2001年針對Tomcat4.x所寫,故參考之并針對Tomcat6.x做了總結,形成此篇學習筆記,希望對學習的人有所幫助,本文涵蓋了:Tomcat目錄、Server.xml元素講解,數據庫連接池配置、線程池配置、虛擬目錄配置。關于如何下載、安裝、運行Tomcat略,請google,相信有詳細的文章講述。



          tomcat的目錄結構如下:


          目錄名

          簡介

          bin

          存放啟動和關閉tomcat腳本

          conf

          包含不同的配置文件,server.xml(Tomcat的主要配置文件)web.xml

          work

          存放jsp編譯后產生的class文件

          webapp

          存放應用程序示例,以后你要部署的應用程序也要放到此目錄

          logs

          存放日志文件

          lib

          這三個目錄主要存放tomcat所需的jar文件




          server.xml配置簡介

           


          元素名

          屬性

          解釋

          server

          port

          指定一個端口,這個端口負責監聽關閉tomcat的請求

          shutdown

          指定向端口發送的命令字符串

          GlobalNamingResources


          服務器的全局JNDI資源,可以有子標簽<Resource></Resource>

          Executor(線程池,一個或多個Connector可以共享此線程池)

          name

          線程池名稱,名稱必須唯一

          namePrefix

          線程的名字前綴,用來標記線程名字的,這樣每個線程就用這個前綴加上線程編號了,比如 catalina-exec-1 、catalina-exec-2

          maxThreads

          允許的最大線程池里的線程數量,默認是200,大的并發應該設置的高一些,反正只是限制而已,不占用資源

          minSpareThreads

          最小的保持活躍的線程數量,默認是25.這個要根據負載情況自行調整了。太小了就影響反應速度,太大了白白占用資源

          maxIdleTime

          最小的保持活躍的線程數量,默認是25.這個要根據負載情況自行調整了。太小了就影響反應速度,太大了白白占用資源

          threadPriority

          線程的等級。默認是Thread.NORM_PRIORITY

          service

          name

          指定service的名字

          Connector (表示客戶端和service之間的連接)

          port

          指定服務器端要創建的端口號,并在這個斷口監聽來自客戶端的請求

          minProcessors

          服務器啟動時創建的處理請求的線程數

          maxProcessors

          最大可以創建的處理請求的線程數

          enableLookups

          如果為true,則可以通過調用request.getRemoteHost()進行DNS查詢來得到遠程客戶端的實際主機名,若為false則不進行DNS查詢,而是返回其ip地址

          redirectPort

          指定服務器正在處理http請求時收到了一個SSL傳輸請求后重定向的端口號

          acceptCount

          指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理

          connectionTimeout

          指定超時的時間數(以毫秒為單位)

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

          name


          defaultHost

          指定缺省的處理請求的主機名,它至少與其中的一個host元素的name屬性值是一樣的

          jvmRoute


          host (表示一個虛擬主機、并且可以包含Context子節點配置虛擬目錄)

          name

          指定主機名

          appBase

          應用程序基本目錄,即存放應用程序的目錄

          unpackWARs

          如果為true,則tomcat會自動將WAR文件解壓,否則不解壓,直接從WAR文件中運行應用程序

          autoDeploy

          自動部署

          xmlValidation

          是否驗證xml

          xmlNamespaceAware


          Realm (表示存放用戶名,密碼及role的數據庫)

          className

          指定Realm使用的類名,此類必須實現org.apache.catalina.Realm接口

          Context(host子節點配置虛擬目錄)

          path

          虛擬目錄名稱

          docBase

          物理路徑

          Debug

          Debug模式

          Reload

          True 重新加載,修改后自動加載


          上面我們講述了server .xml個元素的含義,下面我們給出詳細示例


          Tomcat數據庫連接池配置如下:

          server.xml配置Resource

          <Resource name="jdbc/ExampleDB" auth="Container" type="javax.sql.DataSource"
          maxActive="100" maxIdle="30" maxWait="10000"
          username="APP" password="APP" driverClassName="org.apache.derby.jdbc.ClientDriver"
          url="jdbc:derby://localhost:1527/springside-example;create=true"/>


          context.xml文件增加:


          <WatchedResource>WEB-INF/web.xml</WatchedResource>
          <ResourceLink name="jdbc/ExampleDB"   global="jdbc/ExampleDB"   type="javax.sql.DataSource"/>
          


          Tomcat共享線程池配置:

          取消Executor注釋,修改連接數至自己合適的數值既可。


           <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
          maxThreads="200" minSpareThreads="100" maxIdleTime="60000"/>


           executor="tomcatThreadPool" 標明此連接使用上面配置的名稱為tomcatThreadPool的連接池,無屬性共享連接不會生效 protocol表示使用的是 http協議 端口號為8080

           <Connector port="8080" protocol="HTTP/1.1" redirectPort="8443"
                         connectionTimeout="20000"
                         executor="tomcatThreadPool"
                         acceptCount="100"
                         useBodyEncodingForURI="true"
                         enableLookups="false"
                          />


          虛擬目錄配置:

          在<host></host>之間增加如下


          <!-- 配置虛擬目錄,例如:http://localhost:8080 -->


           <Context path="/" docBase="D:\workspace\code\HBJH\web"></Context>


          附件中是取自springside3中,Tomcat production config配置示例,即生產環境下Tomcat配置


          posted on 2011-05-10 21:04 空白 閱讀(862) 評論(0)  編輯  收藏 所屬分類: Java

          <2011年5月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類(15)

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 民乐县| 慈利县| 淄博市| 通许县| 成武县| 华坪县| 桂林市| 延长县| 濮阳县| 常宁市| 屯昌县| 庆安县| 渑池县| 石柱| 洱源县| 延寿县| 观塘区| 永嘉县| 晋中市| 义马市| 杂多县| 霍林郭勒市| 靖西县| 叶城县| 城市| 岳西县| 千阳县| 南投县| 胶南市| 沾益县| 盖州市| 舟曲县| 沁源县| 上饶市| 江孜县| 根河市| 竹山县| 孟津县| 怀柔区| 得荣县| 汕尾市|