1. 程式人生 > >No.7 Tomcat安裝及優化

No.7 Tomcat安裝及優化

Linux運維

概述
Tomcat 是由 Apache 開發的一個 Servlet 容器,實現了對 Servlet 和 JSP 的支持,並提供了作為Web服務器的一些
特有功能,如Tomcat管理和控制平臺、安全域管理和Tomcat閥等。
由於 Tomcat 本身也內含了一個 HTTP 服務器,它也可以被視作一個單獨的 Web 服務器。但是,不能將 Tomcat 和
Apache HTTP 服務器混淆,Apache HTTP 服務器是一個用 C 語言實現的 HTTP Web 服務器;這兩個 HTTP web
server 不是捆綁在一起的。Tomcat 包含了一個配置管理工具,也可以通過編輯XML格式的配置文件來進行配置。
Tomcat 重要目錄
/bin - Tomcat 腳本存放目錄(如啟動、關閉腳本)。 .sh 文件用於 Unix 系統; .bat 文件用於 Windows 系
統。
/conf - Tomcat 配置文件目錄。
/logs - Tomcat 默認日誌目錄。
/webapps - webapp 運行的目錄
web 工程發布目錄結構
一般 web 項目路徑結構
技術分享圖片
技術分享圖片
下載安裝JDK
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
處理流程:用戶發送請求到web服務器,該請求會被正在監聽的Connector連接器接收,並把該請求交給Service下
的Engine來處理,並等待Engine處理的結果。Engine獲得請求後會根據請求的主機信息來匹配相應的Host主機,
Host主機會根據請求的路徑匹配對應的Context,Context web應用匹配上之後就構建request、response請求對
象,調用指定的Servlet來處理請求。請求處理完成後會將response對象返回給Host主機,Host主機將response對
象返回給Engine引擎,Engine再將response對象返回給Connector鏈接器,最後Connector連接器將response返
回給瀏覽器。
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片技術分享圖片
技術分享圖片
技術分享圖片
參數說明:
appBase 指定站點根目錄位置(可以是相對路徑或絕對路徑)
unpackWAR 本項為"true" 意味著 Tomcat 會保存 .war 包的解壓結果,然後直接對解壓結果進行運行。考慮到jvm
的類加載機制,每個類都僅加載一次,但是頁面內容卻沒有類似的有效緩存,所以 .war 還是解壓執行的比較好。
path 指定訪問路徑URI(虛擬目錄名)
docBase 指定jsp項目的存放路徑(可以是相對路徑或絕對路徑)
debug 設定debug的等級0提供最少的信息,9提供最多的信息
reloadable 本項為true時 當web.xml或者class有改動的時候都會自動重新加載不需要從新啟動服務(所謂的支持熱
發布功能)
crosscontext 本項為"true" 表示配置的不同context共享一個session
cachingAllowed 本項為"true"時 意味著開啟了 Tomcat 的靜態緩存功能。靜態文件包括 JavaScript 程序、圖片聲
音等允許網絡訪問的文件以及 HTML 頁面。
cacheMaxSize 指定靜態緩存功能緩沖區大小的設定。單位是 MB ,也就是 1024KB 。例子中設為 1024 ,意味著
1GB 。
測試訪問:1、配置本地解析;2、在瀏覽器中訪問http://jspgou.1000phone.com:8080出現jspgou商場界面,訪問
http://tomcat_server_ip:8080 出現默認tomcat主頁
Tomcat Manager 管理頁面
添加允許訪問的主機
[work@localhost tomcat]$ vim webapps/manager/META-INF/context.xml
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
參數說明: -server:表示這是應用於服務器的配置,JVM 內部會有特殊處理的
-Xmx1024m:設置JVM最大堆可用內存為1024MB
-Xms1024m:設置JVM最小內堆存為1024m。此值可以設置與-Xmx相同,以避免每次垃圾回收完成後JVM重新分
配內存。
-XX:NewSize:設置年輕代大小
-XX:MaxNewSize:設置最大的年輕代大小
-XX:PermSize:設置永久代大小
-XX:MaxPermSize:設置最大永久代大小
-XX:NewRatio=4:設置年輕代(包括 Eden 和兩個 Survivor 區)與終身代的比值(除去永久代)。設置為 4,則年
輕代與終身代所占比值為 1:4,年輕代占整個堆棧的 1/5
-XX:MaxTenuringThreshold=10:設置垃圾最大年齡,默認為:15。如果設置為 0 的話,則年輕代對象不經過
Survivor 區,直接進入年老代。對於年老代比較多的應用,可以提高效率。如果將此值設置為一個較大值,則年輕
代對象會在 Survivor 區進行多次復制,這樣可以增加對象再年輕代的存活時間,增加在年輕代即被回收的概論。
-XX:+DisableExplicitGC:這個將會忽略手動調用 GC 的代碼使得 System.gc() 的調用就會變成一個空調用,完全不
會觸發任何 GC
技術分享圖片
技術分享圖片
Tomcat Connector有三種運行模式:
bio:阻塞IO bio是三種運行模式中性能最低第一種。
nio:是一個基於緩沖區,並能提供非阻塞I/O操作的JAVA API 因此NIO也成為非阻塞I/O,比bio擁有更好的並發性
能。
apr:調用httpd核心鏈接庫來讀取或文件傳輸,從而提高tomat對靜態文件的處理性能。Tomcat APR模式也是
Tomcat在高並發下的首選運行模式
Tomcat的排錯
時刻關註tomcat/logs/ 中的各log內容
Nginx 代理
方法一(nginx rewrite)
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
Tomcat的排錯
時刻關註tomcat/logs/ 中的各log內容
Nginx 代理
方法一(nginx rewrite)
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

No.7 Tomcat安裝及優化