1. 程式人生 > >tomcat知識點小結

tomcat知識點小結

一.配置

1.context配置問題

Context體現在/conf/server.xml中的Host裡的<Context>元素,它由Context介面定義。每個<Context>元素代表了執行在虛擬主機上的單個Web應用。context元素包含在host元素裡面。

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
	<Context docBase="demo" path="/demo" reloadable="true" />
</Host>

appBase的值是webapps 這裡的意思 是載入webapps下面所有的專案,等於是只要你放到webapp裡面的專案都會被載入。

1).path:指定訪問該Web應用的URL入口(虛擬路徑),,這裡是/demo,對應訪問地址為http://localhost:8080/demo/****。

2).docBase:為實際目錄在硬碟上的位置。

可以給定絕對路徑,也可以給定相對於<Host>的appBase屬性的相對路徑,

如果Web應用採用開放目錄結構,則指定Web應用的根目錄,如果Web應用是個war檔案,則指定war檔案的路徑。

這裡可為相對路徑:docBase="/projectName" 或絕對路徑:docBase="%TOMCAT_HOME%\webapps\projectName"

3).reloadable:如果這個屬性設為true,Tomcat伺服器在執行狀態下會監視在WEB-INF/classes和Web-INF/lib目錄CLASS檔案的改變,如果監視到有class檔案被更新,伺服器自動重新載入Web應用,這樣我們可以在不重起tomcat的情況下改變應用程式。

二.效能優化配置

1.tomcat記憶體配置

(1)Windows環境下,是tomcat解壓版(執行startup.bat啟動tomcat) ,解決辦法:

修改“%TOMCAT_HOME%\bin\catalina.bat”檔案,在檔案開頭增加如下設定:

set JAVA_OPTS=-Xms512m -Xmx512m
-XX:PermSize=128M -XX:MaxNewSize=256m
-XX:MaxPermSize=512m

(2). Linux環境下, ,解決辦法:

修改“%TOMCAT_HOME%\bin\catalina.sh”檔案,在檔案開頭增加如下設定:

JAVA_OPTS=’-Xms256m -Xmx512m’

2.併發數設定

修改“%TOMCAT_HOME%\conf\server.xml”檔案

<Connector port="80" protocol="HTTP/1.1" maxThreads="600" minSpareThreads="100" maxSpareThreads="500" acceptCount="700"
connectionTimeout="20000"  />

maxThreads="600" //最大執行緒數

minSpareThreads="100" //初始化時建立的執行緒數

maxSpareThreads="500" //一旦執行緒超過這個值,Tomcat會關閉不需要的socket執行緒

acceptCount="700"//指定當所有可以使用的處理請求的執行緒數都被使用時,可以放到

處理佇列中的請求數,超過這個數的請求將不予處理

3.中文亂碼問題

修改“%TOMCAT_HOME%\conf\server.xml”檔案,新增 URIEncoding="UTF-8"

 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" redirectPort="8443"/>

4.新增對NIO的支援

修改“%TOMCAT_HOME%\conf\server.xml”檔案protocol引數

<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443" />

參考:

https://blog.csdn.net/nlznlz/article/details/77623379

https://www.cnblogs.com/lxzh/p/3527376.html