1. 程式人生 > >Tomact的一些小配置

Tomact的一些小配置

1、配置Tomact的名稱

當一臺伺服器啟動太多的Tomact的時候,需要區別Tomact的名稱,可以給啟動的Tomact新增一個標題。如下:

在Tomact的bin目錄下找到catalina.bat檔案,用記事本開啟。在中間找到  if "%TITLE%" == "" set TITLE=

在set TITLE中敲入你命名的Tomact的名稱,重啟Tomact即可。

2、配置Tomact的記憶體

在catalina.bat的第一行增加: 

Java程式碼: set JAVA_OPTS=-server -Xms512m -Xmx2048m -XX:PermSize=64M -XX:MaxPermSize=512m -Djava.awt.headless=true

3、配置Tomact的虛擬檔案路徑

Tomact中配置虛擬檔案路徑(主要用於附件、圖片等,前端直接使用虛擬路徑訪問附件、圖片)

比如儲存一張liuyuehu.jpg的圖片,使用虛擬路徑訪問圖片的配置:

在Tomact的localhost資料夾下面images.xml檔案

<?xml version="1.0" encoding="UTF-8"?>

<Context path="images" reloadable="false" docBase="D:\cdc\images"></Context>、

重啟Tomact後,在瀏覽器中輸入:http://127.0.0.1:8080/images/liuyuehu.jpg訪問成功!虛擬圖片路徑配置成功!

4、配置Tomact中專案路徑

Tomact叢集時,不會採取每個Tomact都載入一份獨立的程式碼,而使用共享同一份程式碼。使用tomcat配置專案路徑來共享同一份程式碼。便於實施人員更新程式碼。

比如:都載入D:\java\project的程式碼。專案的上下文為 project(專案的上下文要和Tomact的localhost資料夾下面的檔案XXX.xml名稱一致)

在Tomact的localhost資料夾下面project.xml檔案

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/Admin" docBase="D:\java\project

" debug="0" reloadable="false" ></Context>

重啟Tomact後,在瀏覽器中輸入:http://127.0.0.1:8080/project訪問成功!虛擬圖片路徑配置成功!

5、Tomact中併發配置的優化

在Tomcat 配置檔案 server.xml 中的 <Connector ... /> 配置中。

引數的說明:

minProcessors:最小空閒連線執行緒數,用於提高系統處理效能,預設值為 10

maxProcessors:最大連線執行緒數,即:併發處理的最大請求數,預設值為 75

acceptCount:允許的最大連線數,應大於等於 maxProcessors ,預設值為 100

enableLookups:是否反查域名,取值為: true 或 false 。為了提高處理能力,應設定為 false

connectionTimeout:網路連線超時,單位:毫秒。設定為 0 表示永不超時,這樣設定有隱患的。通常可設定為 30000 毫秒。

其中和最大連線數相關的引數為maxProcessors 和 acceptCount 。如果要加大併發連線數,應同時加大這兩個引數。

web server允許的最大連線數還受制於作業系統的核心引數設定,通常 Windows 是 2000 個左右, Linux 是 1000 個左右。

更改後的配置

<Connector port="8085" protocol="HTTP/1.1" 
maxHttpHeaderSize="8192"
minProcessors="10"
maxProcessors="100"
connectionTimeout="20000" 
acceptCount="1000"
disableUploadTimeout="true"
redirectPort="8443" />

6、調整聯結器connector的併發處理能力

Tomcat 配置檔案server.xml 中的<Connector ... /> 配置中。

引數的說明:

maxThreads 客戶請求最大執行緒數

minSpareThreads    Tomcat初始化時建立的socket 執行緒數

maxSpareThreads   Tomcat聯結器的最大空閒socket 執行緒數

enableLookups     若設為true, 則支援域名解析,可把ip 地址解析為主機名

redirectPort       在需要基於安全通道的場合,把客戶請求轉發到基於SSLredirectPort

acceptAccount      監聽埠佇列最大數,滿了之後客戶請求會被拒絕(不能小於maxSpareThreads 

connectionTimeout   連線超時

minProcessors         伺服器建立時的最小處理執行緒數

maxProcessors        伺服器同時最大處理執行緒數

URIEncoding URL統一編碼

配置例子:

<Connector port="9027"   
	protocol="HTTP/1.1"  
	maxHttpHeaderSize="8192"  
	maxThreads="1000"  
	minSpareThreads="100"  
	maxSpareThreads="1000"  
	minProcessors="100"  
	maxProcessors="1000"  
	enableLookups="false"  
	URIEncoding="utf-8"  
	acceptCount="1000"    
	redirectPort="8443"    
	disableUploadTimeout="true"/> 

7、Tomact中的快取處理

Tomcat 配置檔案server.xml 中的<Connector ... /> 配置中。

引數介紹:

compression開啟壓縮功能

compressionMinSize 啟用壓縮的輸出內容大小,這裡面預設為2KB

compressableMimeType壓縮型別

connectionTimeout定義建立客戶連線超時的時間. 如果為 -1, 表示不限制建立客戶連線的時間

配置例子:

<Connector port="9027"   
	protocol="HTTP/1.1"  
	maxHttpHeaderSize="8192"  
	maxThreads="1000"  
	minSpareThreads="100"                    
	maxSpareThreads="1000"                   
	minProcessors="100"    
	maxProcessors="1000"    
	enableLookups="false"   
	compression="on"  
	compressionMinSize="2048"                 
	compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"   
	connectionTimeout="20000"    
	URIEncoding="utf-8"                    
	acceptCount="1000"                    
	redirectPort="8443"    
	disableUploadTimeout="true"/>

8、Tomact中配置JNDI資料來源

在localhost中新建一個XML檔案。

<?xml version="1.0" encoding="UTF-8"?>
<!-- docBase是專案的原始碼的路徑也可以是部署包的路徑  path和檔名一致,也就是專案的上下文-->
<Context path="/zjwtView" docBase="D:\eclipseWork\zjwtView\WebRoot" debug="0" reloadable="false" >
    <Resource name="jndi/view"
    	auth="Container"
    	type="javax.sql.DataSource"
    	driverClassName="net.sourceforge.jtds.jdbc.Driver"
    	url="jdbc:jtds:sqlserver://192.168.200.112:1433/cms_zhj_eabox"
    	username="cms_zhj_eabox"
    	password="p"
    	maxActive="50"
    	maxIdle="10"
    	maxWait="10000"
    	removeabandoned="true"
    	removeabandonedtimeout="60"
    	logabandoned="false"/>
    <ResourceLink global="UserDatabase" name="users" type="org.apache.catalina.UserDatabase"/>
    <Logger className="org.apache.catalina.logger.FileLogger" prefix="zjwtView-jndi." suffix=".log" timestamp="true"/>
</Context>
在專案中web.xml中配置一下程式碼
<resource-ref>
        <res-ref-name>jndi/zjxfView</res-ref-name><!--jndi/zjxfView 就是localhost中檔案的名稱-->
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
   </resource-ref>