Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是不少的場合下被廣泛使用,是開發和調試JSP 程序的首選。java
是目前的開發焦點。它在汲取了Tomcat 6.0.x優勢的基礎上,實現了對於Servlet 3.0、JSP 2.2和EL 2.2等特性的支持。除此之外的改進列表以下:linux
· Web應用內存溢出偵測和預防web
· 加強了管理程序和服務器管理程序的安全性shell
· 通常 CSRF保護tomcat
· 支持web應用中的外部內容的直接引用安全
· 重構 (connectors, lifecycle)及不少核心代碼的全面梳理服務器
1. 配置方法併發
啓動內存參數的配置app
tomcat/bin/catalina.bat 若是是linux 就是 catalina.shwebapp
在rem 的後面增長以下參數
set JAVA_OPTS= -Xms256m -Xmx256m -XX:MaxPermSize=64m
修改Tomcat的JDK目錄
打開tomcat/bin/catalina.bat
在最後一個rem後面增長
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0
增長虛擬目錄
/tomcat/conf/server.xml
第一行是之前默認存在的,第二行是新增的
<Context path="" docBase="ROOT" debug="0" reloadable="true"></Context>
<Context path="/jsp/a" reloadable="true" docBase="E:\workplace\www.java2000. net\WebContent" />
使用默認配置的tomcat,另外虛擬目錄也可這設置:
<Context path="/test" docBase="webContent" reloadable="true"/>
由於默認狀況下,tomcat啓動過程當中配置虛擬目錄的時候會從 webapps目錄下查找webContent應用。
這樣配置好了,即便之後從一臺服務器移植到另外一臺服務器,不作任何修改也能運行起來。
GET方式URL亂碼問題解決
打開 tomcat/conf/server.xml
查找下面這部分,在最後增長一段代碼就能夠了。
<Connector port="80" maxHttpHeaderSize="8192"
.................
URIEncoding="UTF-8" useBodyEncodingForURI="true"
...............
/>
其中的UTF-8 請根據你的須要本身修改,好比GBK
虛擬主機配置文件
tomcat/conf/server.xml
<!-- 默認的主機 -->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="ROOT" debug="0" reloadable="true"></Context>
...
</host>
<!-- 如下是新增的虛擬主機 -->
<Host name="" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="d:\" debug="0" reloadable="true"></Context>
<!-- 虛擬目錄 -->
<Context path="/count" docBase="d:\counter.java2000. net" debug="0" reloadable="true"></Context>
</Host>
<Host name="java2000. net" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="d:\ " debug="0" reloadable="true"></Context>
<Context path="/count" docBase="d:\counter.java2000. net" debug="0" reloadable="true"></Context>
</Host>
2. Tomcat優化
思路:
首先要掌握未優化以前,服務器性能現狀;
設置虛擬機內存,性能提高明顯;
設置tomcat運行模式略微有提升;
設置tomcat線程池,通常設置的比較大以避免成爲瓶頸;
逐步遞增的性能調試計劃,從較少請求數,較低併發開始逐步遞增。直到性能明顯降低位置;
以吞吐率、併發、響應時間等爲關鍵性能指標;
區分裸奔性能和分佈式調用的性能;
儘可能覆蓋所有代碼運行,服務啓動要爲性能測試作特殊處理(callId,timeStamp);
作AB壓力測試,能夠編寫個shell夜間運行並將結果重定向;
實現:
(1)屏蔽AJP
(2)啓用NIO或者APR模式運行
(3)調整nio的線程池
(4)調整內存
(5)啓用APR
(6)調整線程池