Tomcat权威指南(第二版):深入解析与应用

需积分: 10 0 下载量 198 浏览量 更新于2024-07-29 收藏 4.99MB PDF 举报
"Tomcat权威指南(第二版)" 是一本由Jason Brittain与Ian F. Darwin合著的专业书籍,主要针对Apache Tomcat服务器进行深入解析。本书由O'Reilly Media, Inc.于2008年出版,是第一版的升级更新,提供了关于Tomcat的最新信息和技术。 Tomcat是一款广泛使用的开源Java Servlet容器,它实现了JavaServer Pages (JSP) 和Servlet的相关规范。在第二版中,作者们详细讲解了Tomcat的安装、配置、管理以及性能优化等方面的知识,帮助读者深入理解Tomcat的工作原理和最佳实践。 书中内容可能包括以下几个关键知识点: 1. **Tomcat基础**:介绍Tomcat的基本结构,如目录布局、运行机制,以及如何启动和停止服务器。 2. **安装与配置**:详述在不同操作系统上的安装步骤,配置文件的解析,以及如何定制Tomcat以满足特定需求。 3. **安全管理**:讨论如何设置用户访问控制,实现SSL加密,以及防止常见的安全威胁。 4. **部署应用**:讲解如何部署Web应用程序,包括WAR文件的使用和目录结构的理解。 5. **性能优化**:探讨如何调整Tomcat的性能,如线程池配置、内存管理和日志设置,以提升服务器响应速度和处理能力。 6. **故障排查**:提供诊断和解决常见问题的方法,包括日志分析和性能监控工具的使用。 7. **集群与负载均衡**:介绍如何设置Tomcat集群,实现负载均衡,以提高服务的可用性和可扩展性。 8. **最新版本特性**:介绍自第一版以来Tomcat的新特性和改进,可能包括对新版本Java的支持,以及新的API和功能。 9. **社区与资源**:引导读者了解Tomcat的开发者社区,提供有用的在线资源和工具,以便于进一步学习和求助。 10. **实战案例**:可能包含实际项目中的应用示例,帮助读者将理论知识应用于实践。 通过阅读这本书,读者可以掌握从初学者到高级管理员所需的全部Tomcat知识,无论是运维人员还是开发人员,都能从中获益,提升自己在Java Web应用部署和管理方面的技能。
2013-05-28 上传
1. Getting Started with Tomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Installing Tomcat 1 Starting, Stopping, and Restarting Tomcat 17 Automatic Startup 29 Testing Your Tomcat Installation 34 Where Did Tomcat Come From? 35 2. Configuring Tomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 A Word About Using the Apache Web Server 38 Relocating the Web Applications Directory 39 Changing the Port Number from 8080 42 Java VM Configuration 51 Changing the JSP Compiler 54 Managing Realms, Roles, and Users 55 Controlling Sessions 70 Accessing JNDI and JDBC Resources 75 Servlet Auto-Reloading 78 Customized User Directories 78 Tomcat Example Applications 80 Common Gateway Interface (CGI) 80 The Tomcat Admin Webapp 82 3. Deploying Servlet and JSP Web Applications in Tomcat . . . . . . . . . . . . . . . . . 86 Layout of a Web Application 93 Deploying an Unpacked Webapp Directory 95 Deploying a WAR File 100 Hot Deployment 106 Working with WAR Files 107 The Manager Webapp 108 Automation with Apache Ant 111 Symbolic Links 124 4. Tomcat Performance Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Measuring Web Server Performance 127 External Tuning 153 Internal Tuning 156 Capacity Planning 164 Additional Resources 167 5. Integration with the Apache Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 The Pros and Cons of Integration 170 Installing Apache Apache Integration with Tomcat 177 Tomcat Serving HTTP over the APR Connector 194 6. Tomcat Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Securing the System 202 Multiple Server Security Models 204 Using the SecurityManager 205 Granting File Permissions 208 Setting Up a Tomcat chroot Jail 213 Filtering Bad User Input 224 Securing Tomcat with SSL 241 7. Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 server.xml 260 web.xml 316 tomcat-users.xml 333 catalina.policy 333 catalina.properties 334 context.xml 335 8. Debugging and Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Reading Logfiles 336 Hunting for Errors 337 URLs and the HTTP Conversation 337 Debugging with RequestDumperValve 342 When Tomcat Won’t Shut Down 343 9. Building Tomcat from Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Installing Apache Ant 348 Obtaining the Source 349 Downloading Support Libraries 351 Building Tomcat 352 10. Tomcat Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Clustering Terms 355 The Communication Sequence of an HTTP Request 356 Distributed Java Servlet Containers 366 Tomcat 6 Clustering Implementation 370 JDBC Request Distribution and Failover 388 Additional Resources 389 11. Final Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Supplemental Resources 391 Community 395 A. Installing Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 B. jbchroot.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 C. BadInputValve.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 D. BadInputFilter.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 E. RPM Package Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463