javaGrowing

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            92 隨筆 :: 33 文章 :: 49 評論 :: 0 Trackbacks

          #

          server.xml配置簡介?
          下面我們將講述這個文件中的基本配置信息,更具體的配置信息見tomcat的文檔?
          server:?port????指定一個端口,這個端口負(fù)責(zé)監(jiān)聽關(guān)閉tomcat的請求
          shutdown????指定向端口發(fā)送的命令字符串
          service:?name????指定service的名字
          Connector????(表示客戶端和service之間的連接):
          port????指定服務(wù)器端要創(chuàng)建的端口號,并在這個斷口監(jiān)聽來自客戶端的請求
          minProcessors????服務(wù)器啟動時創(chuàng)建的處理請求的線程數(shù)
          maxProcessors????最大可以創(chuàng)建的處理請求的線程數(shù)
          enableLookups????如果為true,則可以通過調(diào)用request.getRemoteHost()進(jìn)行DNS查詢來得到遠(yuǎn)程客戶端的實際主機(jī)名,若為false則不進(jìn)行DNS查詢,而是返回其ip地址
          redirectPort????指定服務(wù)器正在處理http請求時收到了一個SSL傳輸請求后重定向的端口號
          acceptCount????指定當(dāng)所有可以使用的處理請求的線程數(shù)都被使用時,可以放到處理隊列中的請求數(shù),超過這個數(shù)的請求將不予處理
          connectionTimeout????指定超時的時間數(shù)(以毫秒為單位)
          Engine????(表示指定service中的請求處理機(jī),接收和處理來自Connector的請求):
          defaultHost????指定缺省的處理請求的主機(jī)名,它至少與其中的一個host元素的name屬性值是一樣的
          Context????(表示一個web應(yīng)用程序,通常為WAR文件,關(guān)于WAR的具體信息見servlet規(guī)范):
          docBase????應(yīng)用程序的路徑或者是WAR文件存放的路徑
          path????表示此web應(yīng)用程序的url的前綴,這樣請求的url為http://localhost:8080/path/****
          reloadable????這個屬性非常重要,如果為true,則tomcat會自動檢測應(yīng)用程序的/WEB-INF/lib和/WEB-INF/classes目錄的變化,自動裝載新的應(yīng)用程序,我們可以在不重起tomcat的情況下改變應(yīng)用程序
          host????(表示一個虛擬主機(jī)):
          name????指定主機(jī)名
          appBase????應(yīng)用程序基本目錄,即存放應(yīng)用程序的目錄
          unpackWARs????如果為true,則tomcat會自動將WAR文件解壓,否則不解壓,直接從WAR文件中運(yùn)行應(yīng)用程序
          Logger????(表示日志,調(diào)試和錯誤信息):
          className????指定logger使用的類名,此類必須實現(xiàn)
          org.apache.catalina.Logger????接口
          prefix????指定log文件的前綴
          suffix????指定log文件的后綴
          timestamp????如果為true,則log文件名中要加入時間,如下例:localhost_log.2001-10-04.txt
          Realm????(表示存放用戶名,密碼及role的數(shù)據(jù)庫):
          className????指定Realm使用的類名,此類必須實現(xiàn)org.apache.catalina.Realm接口
          Valve????(功能與Logger差不多,其prefix和suffix屬性解釋和Logger中的一樣):
          className????指定Valve使用的類名,如用org.apache.catalina.valves.AccessLogValve類可以記錄應(yīng)用程序的訪問信息
          directory????指定log文件存放的位置
          pattern????有兩個值,common方式記錄遠(yuǎn)程主機(jī)名或ip地址,用戶名,日期,第一行請求的字符串,HTTP響應(yīng)代碼,發(fā)送的字節(jié)數(shù)。combined方式比common方式記錄的值更多
          注意:?
          1:經(jīng)過我測試,我設(shè)置Context?的path="",reloadable=true,然后放一個WAR文件到webapps目錄,結(jié)果tomcat不能檢測出此文件(重起tomcat可以),而把此文件解壓,則tomcat會自動檢測出這個新的應(yīng)用程序。如果不能自動檢測WAR文件,我們可以利用下面管理中講的方法來部署應(yīng)用程序。?
          2:默認(rèn)的server.xml中,Realm元素只設(shè)置了一個className屬性,但此文件中也包含幾個通過JDBC連接到數(shù)據(jù)庫進(jìn)行驗證的示例(被注釋掉了),通過Realm元素我們可以實現(xiàn)容器安全管理(Container?Managed?Security)。?
          3:還有一些元素我們沒有介紹,如Parameter,loader,你可以通過tomcat的文檔獲取這些元素的信息。?

          posted @ 2006-05-13 12:52 javaGrowing 閱讀(516) | 評論 (0)編輯 收藏

          1. 如何加大tomcat連接數(shù)

          在tomcat配置文件server.xml中的<Connector ... />配置中,和連接數(shù)相關(guān)的參數(shù)有:
          minProcessors:最小空閑連接線程數(shù),用于提高系統(tǒng)處理性能,默認(rèn)值為10
          maxProcessors:最大連接線程數(shù),即:并發(fā)處理的最大請求數(shù),默認(rèn)值為75
          acceptCount:允許的最大連接數(shù),應(yīng)大于等于maxProcessors,默認(rèn)值為100
          enableLookups:是否反查域名,取值為:true或false。為了提高處理能力,應(yīng)設(shè)置為false
          connectionTimeout:網(wǎng)絡(luò)連接超時,單位:毫秒。設(shè)置為0表示永不超時,這樣設(shè)置有隱患的。通常可設(shè)置為30000毫秒。

          其中和最大連接數(shù)相關(guān)的參數(shù)為maxProcessors和acceptCount。如果要加大并發(fā)連接數(shù),應(yīng)同時加大這兩個參數(shù)。


          web server允許的最大連接數(shù)還受制于操作系統(tǒng)的內(nèi)核參數(shù)設(shè)置,通常Windows是2000個左右,Linux是1000個左右。Unix中如何設(shè)置這些參數(shù),請參閱Unix常用監(jiān)控和管理命令

          tomcat4中的配置示例:
          <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
          port="8080" minProcessors="10" maxProcessors="1024"
          enableLookups="false" redirectPort="8443"
          acceptCount="1024" debug="0" connectionTimeout="30000" />

          對于其他端口的偵聽配置,以此類推。

          2. tomcat中如何禁止列目錄下的文件
          在/conf/web.xml中,把listings參數(shù)設(shè)置成false即可,如下:
          <servlet>
          ...
          <init-param>
          <param-name>listings</param-name>
          <param-value>false</param-value>
          </init-param>
          ...
          </servlet>

          3. 如何加大tomcat可以使用的內(nèi)存

          tomcat默認(rèn)可以使用的內(nèi)存為64MB,在較大型的應(yīng)用項目中,這點內(nèi)存是不夠的,需要調(diào)大。

          Unix下,在文件/bin/catalina.sh的前面,增加如下設(shè)置:
          JAVA_OPTS='-Xms【初始化內(nèi)存大小】 -Xmx【可以使用的最大內(nèi)存】'
          需要把這個兩個參數(shù)值調(diào)大。例如:
          JAVA_OPTS='-Xms256m -Xmx512m'
          表示初始化內(nèi)存為256MB,可以使用的最大內(nèi)存為512MB

          4. 如何添加默認(rèn)訪問頁面
          修改文件web.xml,在welcome-list里面添加index.wml作為默認(rèn)的訪問頁面
          <welcome-file-list>
          ??? <welcome-file>index.html</welcome-file>
          ??? <welcome-file>index.htm</welcome-file>
          ??? <welcome-file>index.jsp</welcome-file>
          </welcome-file-list>

          posted @ 2006-05-13 12:49 javaGrowing 閱讀(296) | 評論 (0)編輯 收藏

          例如你要控制對ROOT目錄下文件的訪問:首先更改$TOMCAT_HOME/ROOT/WEB-INF/web.xml

            1.在<web-app>和</web-app>之間加入

            <security-constraint>
            <web-resource-collection>
            <web-resource-name>Entire?Application</web-resource-name>
            <url-pattern>/*</url-pattern>
            </web-resource-collection>
            <auth-constraint>
            <!--?NOTE:?This?role?is?not?present?in?the?default?users?file?-->
            <role-name>user</role-name>
            </auth-constraint>
            </security-constraint>

            <!--?Define?the?Login?Configuration?for?this?Application?-->
            <login-config>
            <auth-method>BASIC</auth-method>
            <realm-name>TEST?ACCESS?CONTROL</realm-name>
            </login-config>

            2.然后在$TOMCAT_HOME/conf/tomcat-users.xml中加入
            
            <user?name="user"?password="password"?roles="user"/>
            roles的名字和web.xml中的相對應(yīng)

            在TOMCAT4.03中測試通過?

          posted @ 2006-05-13 12:29 javaGrowing 閱讀(315) | 評論 (0)編輯 收藏

          首先安裝tomcat時候最好選擇zip打包方式直接解壓到某個目錄!

          打開{tomat}/bin/service.bat,找到如下一行

          "%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp" --JvmMs?128 --JvmMx 256

          知道怎么做了嘛?把128和256替換成你想要的值,例如初始內(nèi)存256,最大內(nèi)存512。第一個數(shù)值是初始內(nèi)存大小,單位是兆,第二個數(shù)值是最大內(nèi)存!

          修改完保存該文件后執(zhí)行如下命令來安裝服務(wù)

          service install {service_name}

          {service_name}替換成你想

          posted @ 2006-05-13 11:58 javaGrowing 閱讀(762) | 評論 (0)編輯 收藏

          當(dāng)我們需要將多個域名同時指向同一個應(yīng)用,而且要求不能跟Tomcat默認(rèn)的應(yīng)用沖突時怎么辦? 今天 小紅帽?問起這個問題,順便研究了一下,可以通過下面配置來實現(xiàn)

          <Host name="javayou.com" appBase="webapps"
          ?????? unpackWARs="true" autoDeploy="false"
          ?????? xmlValidation="false" xmlNamespaceAware="false">
          ?????? <Alias>www.javayou.com</Alias>
          ?????? <Alias>wap.javayou.com</Alias>
          ?????? <Context path="" docBase="C:\PROJECTS\JAVA\DLOG4J_V3\webapp" reloadable="true"/>
          </Host>

          上面的例子把三個域名分別是 javayou.com, www.javayou.com, wap.javayou.com 都指到了dlog這個應(yīng)用。

          當(dāng)然了,如果你的Tomcat只跑一個應(yīng)用那就不用那么費(fèi)勁了,把name設(shè)置為localhost就搞定了,別說是三個域名了,三萬個也沒問題啊。

          posted @ 2006-05-13 11:53 javaGrowing 閱讀(888) | 評論 (0)編輯 收藏

          僅列出標(biāo)題
          共19頁: First 上一頁 8 9 10 11 12 13 14 15 16 下一頁 Last 
          主站蜘蛛池模板: 偃师市| 漳平市| 横峰县| 拉萨市| 盐源县| 和静县| 库车县| 长葛市| 当阳市| 龙胜| 红桥区| 个旧市| 玉山县| 昌吉市| 肥西县| 黎城县| 巩义市| 隆化县| 桐柏县| 黄龙县| 通化市| 乐山市| 页游| 东海县| 疏附县| 汾西县| 上犹县| 资源县| 高陵县| 通渭县| 塔城市| 新巴尔虎左旗| 晋州市| 兰西县| 连州市| 衡阳县| 浮梁县| 新巴尔虎左旗| 庐江县| 乐亭县| 牟定县|