tomcat目錄下的service.xml解析

          tomcat server.xml配置詳解
          2011-03-08 16:34

          元素名
          屬性
          解釋
          server
          port
          指定一個端口,這個端口負責監聽關閉tomcat的請求
          shutdown
          指定向端口發送的命令字符串
          service
          name
          指定service的名字
          Connector(表示客戶端和service之間的連接)
          port
          指定服務器端要創建的端口號,并在這個斷口監聽來自客戶端的請求
          minProcessors
          服務器啟動時創建的處理請求的線程數
          maxProcessors
          最大可以創建的處理請求的線程數
          enableLookups
          如果為true,則可以通過調用request.getRemoteHost()進行DNS查詢來得到遠程客戶端的實際主機名,若為false則不進行DNS查詢,而是返回其ip地址
          redirectPort
          指定服務器正在處理http請求時收到了一個SSL傳輸請求后重定向的端口號
          acceptCount
          指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理
          connectionTimeout
          指定超時的時間數(以毫秒為單位)
          Engine(表示指定service中的請求處理機,接收和處理來自Connector的請求)
          defaultHost
          指定缺省的處理請求的主機名,它至少與其中的一個host元素的name屬性值是一樣的
          Context(表示一個web應用程序,通常為WAR文件,關于WAR的具體信息見servlet規范)
          docBase
          應用程序的路徑或者是WAR文件存放的路徑
          path
          表示此web應用程序的url的前綴,這樣請求的urlhttp://localhost:8080/path/****
          reloadable
          這個屬性非常重要,如果為true,則tomcat會自動檢測應用程序的/WEB-INF/lib /WEB-INF/classes目錄的變化,自動裝載新的應用程序,我們可以在不重起tomcat的情況下改變應用程序
          host(表示一個虛擬主機)
          name
          指定主機名
          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(表示存放用戶名,密碼及role的數據庫)
          className
          指定Realm使用的類名,此類必須實現org.apache.catalina.Realm接口
          Valve(功能與Logger差不多,其prefixsuffix屬性解釋和Logger 中的一樣)
          className
          指定Valve使用的類名,如用org.apache.catalina.valves.AccessLogValve類可以記錄應用程序的訪問信息
          directory
          指定log文件存放的位置
          pattern
          有兩個值,common方式記錄遠程主機名或ip地址,用戶名,日期,第一行請求的字符串,HTTP響應代碼,發送的字節數。combined方式比common方式記錄的值更多

          <Server>元素


          它代表整個容器,是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命令端口.終止服務器運行時,必須在Tomcat服務器所在的機器上發出
          shutdown命令.該屬性是必須的.
          3>shutdown指定終止Tomcat服務器運行時,發給Tomcat服務器的shutdown監聽端口的字符串.該屬性必須設


          <Service>元素


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

             第一個<Service>處理所有直接由Tomcat服務器接收的web客戶請求.
             第二個<Service>處理所有由Apahce服務器轉發過來的Web客戶請求
          1>className 指定實現org.apahce.catalina.Service接口的類.默認為
          org.apahce.catalina.core.StandardService
          2>name定義Service的名字

          <Engine>元素


          每個Service元素只能有一個Engine元素.元素處理在同一個<Service>中所有<Connector>元素接收到的客
          戶請求.由org.apahce.catalina.Engine接口定義.
          <Engine name="Catalina" defaultHost="localhost" debug="0">
          1>className指定實現Engine接口的類,默認值為StandardEngine
          2>defaultHost指定處理客戶的默認主機名,在<Engine>中的<Host>子元素中必須定義這一主機
          3>name定義Engine的名字
          在<Engine>可以包含如下元素<Logger>, <Realm>, <Value>, <Host>

          <Host>元素


          它由Host接口定義.一個Engine元素可以包含多個<Host>元素.每個<Host>的元素定義了一個虛擬主機.它
          包含了一個或多個Web應用.
          <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
          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,表示Tomcat服務器啟動時會自動發布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對象.
          <Context path="/sample" docBase="sample" debug="0" reloadbale="true">
          1>className指定實現Context的類,默認為StandardContext類
          2>path指定訪問Web應用的URL入口,注意/myweb,而不是myweb了事
          3>reloadable如果這個屬性設為true, Tomcat服務器在運行狀態下會監視在WEB-INF/classes和Web-
          INF/lib目錄CLASS文件的改運.如果監視到有class文件被更新,服務器自重新加載Web應用
          3>cookies指定是否通過Cookies來支持Session,默認值為true
          4>useNaming指定是否支持JNDI,默認值為了true
          在<Context>元素中可以包含如下元素
          <Logger>, <Realm>, <Resource>, <ResourceParams>

          <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,它通過8080端口接收HTTP請求;第二個Connector元素定
          義了一個JD Connector,它通過8009端口接收由其它服務器轉發過來的請求.
          Connector元素共用屬性
          1>className指定實現Connector接口的類
          2>enableLookups如果設為true,表示支持域名解析,可以把IP地址解析為主機名.WEB應用中調用
          request.getRemoteHost方法返回客戶機主機名.默認值為true
          3>redirectPort指定轉發端口.如果當前端口只支持non-SSL請求,在需要安全通信的場命,將把客戶請求轉
          發至SSL的redirectPort端口
          HttpConnector元素的屬性
          1>className實現Connector的類
          2>port設定Tcp/IP端口,默認值為8080,如果把8080改成80,則只要輸入http://localhost即可
          因為TCP/IP的默認端口是80
          3>address如果服務器有二個以上ip地址,此屬性可以設定端口監聽的ip地址.默認情況下,端口會監聽服務
          器上所有的ip地址
          4>bufferSize設定由端口創建的輸入流的緩存大小.默認值為2048byte
          5>protocol設定Http協議,默認值為HTTP/1.1
          ##############################################
          忍無可忍了,決定做個全面的測試,環境為mysql5+tomcat5.5,框架基于spring+hibernate+struts,測試工具為jmeter,loadruner。     
              直接部署工程,運行jmeter,確實,不到30的并發,工程當了。。    
               優化tomcat         編輯bin目錄下catalina.bat,加入以下語句      
             set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m    
               內存的設置于系統內存大小有關,一般取50%         編輯conf下server.xml,     
             <Connector port="8080" maxHttpHeaderSize="8192"             
              maxThreads="1000" minSpareThreads="250" maxSpareThreads="500"            
               enableLookups="false" redirectPort="8443" acceptCount="1100"               
            connectionTimeout="20000" disableUploadTimeout="true" />      
             優化mysql         我主要修改了一個最大連接數,修改my.ini       
            max_connections=1024        優化連接池設置  
           jdbc.maxActive=2048  jdbc.maxIdle=1024  jdbc.minIdle=5  jdbc.maxWait=8000  
          jdbc.removeAbandonedTimeout=8  jdbc.removeAbandoned=true       
            在loadruner下設置300并發,輕松愉快,小試牛刀;接著做穩定性測試,設置300人同時在線,運行時間為無限次,到今天為止已經有36小時了,監控系統的cpu,內存使用情況,一切良好。  
          ########################################
          1)
          <Context path="/hh" docBase="D:\aaa"  reloadable="true" debug="0"/>
          當是這個配置的時候,再瀏覽器中輸入http://localhost:8080/hh/a.html可以訪問到d:\aaa下的a.html.

          (2)
          <Context path="/" docBase="D:\aaa"  reloadable="true" debug="0"/>
          當是這個配置的時候,再瀏覽器中輸入http://localhost:8080/a.html,訪問到卻是 tomcat 安裝目錄下的 ROOT 下的a.html.

          (3)
          <Context path="" docBase="D:\aaa"  reloadable="true" debug="0"/>
          當是這個配置的時候,再瀏覽器中輸入http://localhost:8080/a.html,訪問到D:\下的a.html.

          posted on 2012-05-17 10:05 youngturk 閱讀(2921) 評論(0)  編輯  收藏 所屬分類: 服務器環境部署

          <2012年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          公告

          this year :
          1 jQuery
          2 freemarker
          3 框架結構
          4 口語英語

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          EJB學習

          Flex學習

          learn English

          oracle

          spring MVC web service

          SQL

          Struts

          生活保健

          解析文件

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 汾西县| 中宁县| 类乌齐县| 泽库县| 太仆寺旗| 壶关县| 理塘县| 乌兰浩特市| 卢湾区| 达拉特旗| 祁连县| 宁安市| 江山市| 唐河县| 江口县| 望城县| 宁津县| 梁山县| 饶河县| 保定市| 吐鲁番市| 甘孜县| 浏阳市| 吴忠市| 海城市| 册亨县| 南和县| 永州市| 沭阳县| 叶城县| 无为县| 资源县| 鄂尔多斯市| 内江市| 固原市| 双江| 壶关县| 塘沽区| 芦溪县| 周宁县| 罗田县|