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" />
參考: