産品特色
編輯推薦
本書提供瞭以下完整信息:安裝和啓動流程
配置Tomcat——討論realm、角色、用戶、servlet會話和JNDI資源,包括JDBC DataSource
部署web應用程序——個彆servlet、JSP頁和web應用程序歸檔文件
調校Tomcat並改善性能
整閤Tomcat和ApacheWebServer
Tomcat安全防護
Tomcat配置文件——server.xml、web.xml更多文件
調試與疑難排解——診斷Tomcat或web應用程序的問題
從源代碼編譯自己的Tomcat
並行運行兩個或更多Tomcatservlet容器
內容簡介
本書是一本萬能工具,其主題涵蓋瞭Apache Tomcat這一廣受歡迎的開源servlet、JSP容器和高性能的web server。本書對管理員和web站點管理員而言,具有較強的參考價值;對在開發或産品中要使用Tomcat作為web應用程序服務器的開發者而言,這是一本有用的指南書;對Tomcat感興趣的人而言,這是一本優秀的介紹工具。
本書是全新Tomcat版本的更新,這是第二版,提供瞭關於servlet容器安裝、配置、維護和安全防護的完整指南。實際上,鑒於具有如此多的全新信息,這本書本質上是一本新書,而不是原書的簡單翻版。通過本書,您會瞭解到在所有主要操作係統(Windows、Linux、OSX、S01aris和FreeBSD)上使用Tomcat的詳細信息,包括關於Tomcat配置文件以及部署和運行web應用程序的交互建議的詳細信息。
作者簡介
Jason Brittain是spigit(http://www.spigit.com)的軟件架構師。spigit是一個擁有Web 2.0軟件套件的社會網絡軟件團隊,該團隊可在用戶群中找到很好想法和有名的人群。Jason還為O’Reilly的ON Java.tom撰寫瞭關於web的論文。
Ian F. Darwin自1980年以來就開始研究Unix,自1995開始研究Java,自1998年開始研究Open BSD。Ian不僅是許多技術書和專業文章的作者,而且給Learning Tree International(世界上大的技術培訓公司之一)的學員教Unix、C和Java。
內頁插圖
目錄
前言
第1章 Tomcat的開幕式
安裝Tomcat
Tomcat的啓動、停止及重啓
自動啓動
安裝後的測試
Tomcat從何而來?
第2章 配置Tomcat
使用Apache Web服務器
重定嚮Web應用程序的目錄
從8080改變端口號
Java VM配置
變換JSP編譯器
管理領域、角色及用戶
控製會話
訪問JNDI與JDBC的資源
Servlet自動重載
定製用戶目錄
Tomcat應用程序示例
公共網關接口(CGI)
Tbmcat Admin webapp
第3章 在Tomcat中部署Servlet與JSP Web應用程序
Web應用程序的布局
部署解包的Web應用程序目錄
部署WAR文件
熱部署
使用WAR文件
Manager Web應用程序
Apache Ant自動化部署
Symbolic Links
第4章 Tomcat的性能調校
測量Web服務器的性能
外部調校
內部調校
容量規劃
額外的資源
第5章 與Apache Web服務器的整閤
整閤的優缺點
安裝Apache httpd
Apache與Tomcat的整閤
Tomcat在APR連接器上提供HTTP服務
第6章 Tomcat安全防護
係統安全防護
多颱服務器的安全防護模式
使用SecurityManager
授予文件權限
設置Tomcat chroot Jail
過濾黑客攻擊
用SSL加強Tomcat的安全防護性能
第7章 配置
server.xml
web.xml
tomcat-users.xml
catalina.policy
catalina.properties
context.xml
第8章 調試與疑難排解
解讀日誌文件
獵尋錯誤
URL與HTTP會話
用RequestDumper Valve來調試
無法停止Tomcat的疑難排解
第9章 從源代碼組建Tomcat
安裝Apache Ant
獲取資源
下載支持庫
組建Tomcat
第10章 Tomcat集群
集群術語
HTTP請求的通信序列
分布式JAVA Servlet Container
Tomcat 6集群實現
JDBC請求分布與故障復原
其他資源
第11章 閉幕式
補充資源
社區
附錄A 安裝Java
附錄B jbchroot.c
附錄C BadlnputValve.java
附錄D BadlnputFiter.java
附錄E RPM包文件
精彩書摘
第1章 Tomcat的開幕式
因為Tomcat是以Java編寫的,人們會認為一定要精通Java纔能使用它,這是不對的!雖然修改Tomcat的內部程序或編寫servlet程序需要有Java的知識作為基礎,但使用Tomcat、編寫或維護許多JSP(Java Server Page),並不需要Java的知識。例如,您可以利用JavaBeans或Java組件標記編寫的JSP,在這兩種情形下,您隻是使用開發者已為您準備好的Java組件。
筆者會在本章中解釋如何安裝Tomcat、如何讓它運行以及為瞭確保其能正確運行而如何測試。
注意:截止本書發稿,Tomcat可用的成熟版本很多,但筆者強烈推薦您使用6.0分支的最新穩定版,或者使用在閱讀本書時您所看到的Tomcat任何最新的穩定版本。請瀏覽Apache Tomcat主頁(http://tomcat.apache.org)以查找最新版本。對於Tomcat5.5和6.0版本,本書不僅充分解釋並詳盡解答瞭Tomcat是如何工作的常用概念,而且提供瞭如何使用這些慣用版本的詳盡解釋。
安裝Tomcat
安裝和運行Tomcat的方法有多種。最快的方法是下載並運行已編譯過的二進製文件。Tomcat是以Java編寫的,這錶示在能夠構建(build)或測試它之前,必須安裝最新的、完整的Java運行環境(JRE,Javaruntime)。請務必參閱附錄A以確定您已正確安裝瞭Java。
前言/序言
Tomcat是源自Apache軟件基金會的Jaya servlet容器(container)與Web服務器實現,其擅長之處在於根據請求進行響應,並給用戶展現動態與靜態網頁的應用程序,最終將靜態、動態結果傳送到用戶的瀏覽器上。Tomcat不僅包含瞭Java servlet技術,而且包含瞭Java Server Pages(JSP)技術,除此之外,還包含瞭用各種編程語言編寫的傳統靜態網頁和外掛CGI程序。因此,對許多應用程序而言,把Tomcat用作Web服務器,包括用作高性能的Web産品服務器,是一個不錯的選擇。同時,如果您想要使用自由開源(http://opensource.org)的Setvlet和JSP引擎,Tomcat更是一個很不錯的選擇。
本書是關於如何使用Tomcat的書,而不是關於如何編寫Web應用程序的書。因此,本書涵蓋瞭有關Tomcat安裝、配置、部署、性能調校、與Apache Web服務器的整閤、安全防護、配置文件與元素、調試跟蹤與疑難排解、組建及集群等知識,從Tomcat開發的流程係統地介紹瞭Tomcat技術,並在全球廣泛發行。同時,為瞭使用者方便,本書介紹瞭Tomcat的相關資源,包括網站、郵件等,以便讀者和使用者在遇到問題而又無法解決時可以找地方求救。有關本書的整體介紹,作者已做詳細說明,譯者就不進行贅述瞭。
深度解析Java Web服務器的基石——Tomcat,解鎖企業級應用部署與優化的秘密 Java Web開發領域,Tomcat之名無人不曉,它不僅是Apache基金會的旗艦項目,更是無數企業級Java應用的穩定基石。從初識服務器的搭建,到深入理解其架構原理,再到精通性能調優與安全加固,《Tomcat權威指南(第2版)》無疑是每一位Java開發者、係統管理員以及架構師手中不可或缺的寶典。本書並非僅僅羅列配置參數,而是以一種抽絲剝繭的方式,帶領讀者穿越Tomcat的層層帷幕,直抵其核心,幫助您在復雜的Java Web世界中遊刃有餘。 為何選擇Tomcat?它為何如此重要? 在理解這本書的價值之前,我們必須先認識Tomcat的獨特地位。作為一個開源的、功能完備的Java Servlet容器和Web服務器,Tomcat實現瞭Java Servlet API、JavaServer Pages (JSP) API、Java Expression Language (EL) 和WebSocket等一係列Java EE規範。這意味著,任何遵循這些規範編寫的Java Web應用,幾乎都可以無縫地部署在Tomcat之上。 Tomcat的生命力在於其強大的靈活性和高度的可定製性。它能夠運行從簡單的靜態網頁到復雜的企業級動態應用,並且能夠在各種操作係統和硬件平颱上穩定運行。對於追求效率和成本效益的開發者和企業而言,Tomcat提供的免費開源解決方案,加上其廣泛的社區支持,使其成為比商業Web服務器更具吸引力的選擇。 《Tomcat權威指南(第2版)》——不僅僅是一本手冊 本書最大的價值在於其“權威”二字。它並非簡單地匯集零散的技術文檔,而是由經驗豐富的專傢撰寫,以一種係統化、理論與實踐相結閤的方式,全麵闡述Tomcat的方方麵麵。這本書不是告訴您“怎麼做”,而是深入解釋“為什麼這麼做”,從而讓讀者真正理解Tomcat的工作機製,掌握解決問題的核心思路。 深入剖析Tomcat核心組件與架構 理解Tomcat,首先要理解其內部構造。本書將詳細剖析Tomcat的核心組件,包括但不限於: Connector (連接器): 這是Tomcat與外界通信的橋梁。本書將深入講解不同Connector(如HTTP Connector、AJP Connector)的原理,它們如何接收客戶端請求,解析HTTP協議,並將請求轉發給Container。您將瞭解Connector的配置選項,以及如何根據不同的網絡需求進行優化,例如連接池的配置、Keep-Alive策略等。 Container (容器): 它是Tomcat處理請求的核心。本書將詳細介紹Engine、Host、Context、Wrapper這四級容器的層級結構,以及請求在這些容器之間傳遞的流程。您將理解Servlet是如何被加載、初始化、服務以及銷毀的,JSP又是如何被編譯成Servlet執行的。 Servlet和JSP生命周期: 深入揭示Servlet和JSP在Tomcat中的完整生命周期,從實例化到銷毀的每一個環節。理解這些細節對於編寫高效、健壯的Java Web應用至關重要。 Web Application Deployment (Web應用部署): 詳細講解WAR包的結構、`web.xml`的配置、虛擬主機(Virtual Host)的設置,以及如何將Web應用成功部署到Tomcat中。本書將覆蓋部署過程中的各種常見問題及其解決方案。 掌握Tomcat的配置與管理 配置是Tomcat高效運行的基礎。本書將涵蓋: Server.xml詳解: `server.xml`是Tomcat的靈魂配置文件。本書將逐一解析`server.xml`中的各個元素,如`Server`、`Service`、`Connector`、`Engine`、`Host`、`Context`等,並詳細解釋其屬性的含義和作用。您將學會如何根據實際需求,精細化地配置Tomcat,例如設置端口、安全協議、綫程池大小等。 Realm配置與用戶認證: 瞭解Tomcat如何處理用戶認證和授權,包括JDBC Realm、JNDI Realm等多種配置方式,為您的Web應用提供安全的訪問控製。 JNDI資源配置: 掌握如何配置JNDI數據源,為Java應用提供對數據庫、JMS等外部資源的便捷訪問。 虛擬主機配置: 學習如何在一颱Tomcat服務器上托管多個域名和Web應用,實現靈活的網站部署。 日誌配置與管理: 深入瞭解Tomcat的日誌係統,學會如何配置日誌級彆、日誌格式,以及如何分析日誌以排除故障。 性能調優與優化之道 性能是衡量一個Web服務器是否成功的關鍵指標。《Tomcat權威指南(第2版)》將引領您走進Tomcat性能優化的殿堂: JVM調優: Tomcat是運行在JVM之上的,JVM的性能直接影響Tomcat的整體錶現。本書將指導您如何選擇閤適的JVM版本,進行內存分配(堆、棧、元空間等),以及常用垃圾收集器(如G1、Shenandoah)的選擇和配置,從而大幅提升應用響應速度。 Connector性能優化: 針對不同的Connector,本書將提供詳細的性能調優建議,例如調整綫程數、超時時間、緩衝區大小,以及理解Acceptor綫程和Worker綫程的工作模式。 請求處理優化: 深入分析請求在Tomcat中的處理流程,找齣性能瓶頸,並提供相應的優化策略,如連接復用、異步IO等。 緩存與壓縮: 講解如何利用Tomcat的緩存機製(如頁麵緩存、靜態資源緩存)以及HTTP壓縮(Gzip)來減少服務器負載和網絡傳輸量。 多服務器部署與負載均衡: 介紹如何通過Tomcat自身提供的集群功能,或結閤Nginx、HAProxy等外部負載均衡器,實現多Tomcat實例的部署,提升係統的可用性和處理能力。 安全加固與最佳實踐 在當今網絡環境下,安全性不容忽視。本書將提供全麵的安全加固方案: SSL/TLS配置: 詳細指導您如何配置SSL/TLS證書,實現HTTPS加密通信,保護數據傳輸的安全性。 訪問控製與安全策略: 講解如何配置Tomcat的安全管理器(Security Manager),限製Web應用的權限,防止惡意代碼執行。 防止常見Web攻擊: 提供針對SQL注入、XSS攻擊、CSRF攻擊等常見Web安全威脅的防範措施。 部署安全: 涵蓋Web應用部署過程中的安全注意事項,例如最小權限原則、文件權限設置等。 安全更新與漏洞修復: 強調及時更新Tomcat版本的重要性,並介紹如何關注和修復已知的安全漏洞。 高級主題與實戰案例 本書的深度不僅體現在基礎概念的講解,更在於對高級主題的探索和實戰案例的呈現: Tomcat集群與高可用: 詳細講解Tomcat集群的原理、配置和部署,以及如何實現高可用性,確保應用7x24小時不間斷運行。 與Web服務器(Nginx, Apache HTTP Server)的集成: 介紹如何將Tomcat與Nginx或Apache HTTP Server結閤使用,充分發揮各自優勢,例如Nginx處理靜態資源和負載均衡,Tomcat處理動態Java請求。 WebSocket支持: 深入講解Tomcat對WebSocket協議的支持,以及如何開發和部署實時通信應用。 APR/Native組件的使用: 解釋APR/Native組件如何提升Tomcat的I/O性能,以及如何進行配置和優化。 監控與故障排除: 提供有效的Tomcat監控手段,例如JMX監控,以及針對常見故障的排查思路和技巧。 目標讀者 無論您是初次接觸Java Web開發的初學者,希望快速掌握Tomcat的應用;還是有一定經驗的開發者,希望深入理解Tomcat的內部機製,進行性能優化;亦或是係統管理員,需要部署和維護大規模的Java應用環境;本書都將是您不可或缺的指導。 總結 《Tomcat權威指南(第2版)》是一本集理論、實踐、技巧於一體的綜閤性著作。它不僅能夠幫助您熟練掌握Tomcat的基本配置和使用,更能引領您深入理解其運行原理,掌握性能調優的秘訣,構建安全可靠的企業級Java Web應用。擁抱這本書,就是擁抱Tomcat的無限可能,開啓您在Java Web開發領域的卓越之旅。