Tomcat与其他HTTP服务器集成
Tomcat最主要的功能是提供Servlet/JSP容器,尽管它也可以作为独立的Java Web服务器,它在对静态资源(如HTML文件或图像文件)的处理速度,以及提供的Web服务器管理功能方面都不如其他专业的HTTP服务器,如IIS和Apache服务器。
因此在实际应用中,常常把Tomcat与其他HTTP服务器集成。对于不支持Servlet/JSP的HTTP服务器,可以通过Tomcat服务器来运行Servlet/JSP组件。
当Tomcat与其他HTTP服务器集成时,Tomcat服务器的工作模式通常为进程外的Servlet容器,Tomcat服务器与其他HTTP服务器之间通过专门的插件来通信。
Tomcat与HTTP服务器集成的原理
Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户的请求,以及把Tomcat服务器的响应结果发送给客户。默认情况下,Tomcat在server.xml中配置了两种连接器:
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080-->
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8843"/>
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
第一个连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
第二个连接器监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。
Web客户访问Tomcat服务器上JSP组件的两种方式如下图所示。
上图中,Web客户1直接访问Tomcat服务器上的JSP组件,他访问的URL为http://localhost:8080/index.jsp。Web客户2通过HTTP服务器访问Tomcat服务器上的JSP组件。假定HTTP服务器使用的HTTP端口为默认的80端口,那么Web客户2访问的URL为http://localhost:80/index.jsp 或者 http://localhost/index.jsp。
下面,介绍Tomcat与HTTP服务器之间是如何通信的。
JK插件
Tomcat提供了专门的JK插件来负责Tomcat和HTTP服务器的通信。应该把JK插件安置在对方的HTTP服务器上。当HTTP服务器接收到客户请求时,它会通过JK插件来过滤URL,JK插件根据预先配置好的URL映射信息,决定是否要把客户请求转发给Tomcat服务器处理。
假定在预先配置好的URL映射信息中,所有"/*.jsp"形式的URL都由Tomcat服务器来处理,那么在图22-1的例子中,JK插件将把客户请求转发给Tomcat服务器,Tomcat服务器于是运行index.jsp,然后把响应结果传给HTTP服务器,HTTP服务器再把响应结果传给Web客户2。
对于不同的HTTP服务器,Tomcat提供了不同的JK插件的实现模块。本章将用到以下JK插件:
与Windows下的Apache HTTP服务器集成:mod_jk_2.0.46.dll
与Linux(RedHet)下的Apache HTTP服务器集成:mod_jk.so-ap2.0.46-rh72..46-rh72
与IIS服务器集成:isapi_redirect.dll
AJP是为Tomcat与HTTP服务器之间通信而定制的协议,能提供较高的通信速度和效率。在配置Tomcat与HTTP服务器集成中,读者可以不必关心AJP协议的细节。关于AJP的知识也可以参考网址:
http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk2/doc/common/AJPv13.html
在Windows下Tomcat与Apache服务器集成
包括了五个步骤,这里不细说,只描述其步骤名称。
- 安装Apache服务器。
- 在Apache服务器中加入JK插件。
- 创建workers.properties文件。
- 修改Apache服务器的配置文件httpd.conf。
- 测试配置。
这以上的文字和图,出之孙卫琴的《Tomcat与Java Web开发技术详解第二版》
非常简单的配置方法,这样就可以让几台tomcat服务器集群使用,均衡负载。也可以让不同的服务器针对不同的URL过滤条件,具有不同的功能。
分享到:
相关推荐
本文主要介绍了如何在Windows和Linux环境下搭建Tomcat集群并使用Apache作为集群的代理服务器和负载均衡器。通过本指南,读者可以学习到在不同操作系统下进行集群配置的具体步骤。 #### 二、准备工作 在开始安装之前...
本文将详细介绍如何在一机双Tomcat环境下搭建Apache+Tomcat集群,并深入解析其中的关键配置和技术细节。 #### 二、Apache+Tomcat集群的优势 1. **高可靠性(HA)**:通过集群管理软件实现在主服务器发生故障时,备份...
Apache + Tomcat 集群配置是指将 Apache 服务器与 Tomcat 服务器集成,以提高服务器的性能和可扩展性。本文将详细介绍如何配置 Apache + Tomcat 集群,包括安装 Apache 和 Tomcat 服务器、配置 mod_jk 模块、配置 ...
【描述】:虽然描述为空,但我们可以推测这是一个关于如何设置和管理使用Apache作为反向代理,Tomcat作为应用服务器的集群配置教程。这种架构允许通过Apache分散到多个Tomcat实例的请求,以实现负载均衡和容错。 ...
Apache和Tomcat集成与集群是Web服务器和应用服务器协同工作的常见模式,主要目的是提升网站的性能和可扩展性。Apache通常作为HTTP服务器处理静态资源,而Tomcat则负责执行Java Servlets和JavaServer Pages(JSP)等...
在构建高性能、高可用性的Web服务时,Apache与Tomcat的组合使用是非常常见的策略,尤其在需要实现负载平衡和集群的场景下。Apache通常作为前端服务器处理静态内容,而Tomcat则作为后端应用服务器处理动态请求。接...
【标题】"Tomcat+Apache+JK集群"指的是在Web服务器架构中,通过Apache HTTP Server与Tomcat应用服务器结合,并利用JK模块实现负载均衡和高可用性的集群部署方式。这种方式可以提升系统的性能和稳定性,应对高并发...
在实际操作中,主要是Apache作为主服务器运行,当监听到有jsp或者servlet的请求时,将请求转发给tomcat服务器,由tomcat服务器进行解析后,发回apache,再由apache发回用户。 在tomcat中有两个监听的端口,一个是...
因此,将TOMCAT与APACHE集成可以实现最佳的Web服务器性能,即APACHE处理静态内容,TOMCAT处理动态内容。 集成TOMCAT和APACHE通常采用Apache的mod_proxy模块,通过Proxypass和ProxyPassReverse指令来转发请求。例如...
它使用一种称为AJP(Apache JServ Protocol)的协议来与Tomcat通信,AJP是一种轻量级的协议,专门设计用于Web服务器和Java应用服务器之间的通信。 **配置JK插件** 在Windows环境中,安装mod_jk涉及到以下几个步骤:...
- 安装并配置mod_jk模块,设置连接到各个Tomcat实例的参数,配置Apache服务器以转发请求到Tomcat集群。 - 实现session同步机制,确保集群中的多个Tomcat实例能够共享用户会话信息。 - 配置负载均衡规则,通过mod_jk...
接下来是Apache的配置步骤,以实现与Tomcat集群的集成。 - **加载代理模块**: - 打开Apache的配置文件 `conf/httpd.conf`,取消以下行的注释: ```plaintext LoadModule proxy_module modules/mod_proxy.so ...
标题中的“Tomcat与其他HTTP服务器集成”涉及到的是在Web服务环境中如何将Apache Tomcat与其它HTTP服务器(如Apache HTTP Server、Nginx等)协同工作,以实现更高效、更灵活的服务部署。Tomcat是一个开源的Java ...
在本方案中,可能使用了基于URL的负载策略,将`.jsp`、`.do`等动态请求发送到Tomcat集群,以确保动态内容的高效处理。 **5. 故障转移和高可用性** 为了提高系统稳定性,通常会配置故障转移机制。当某台服务器出现...
在Windows Server 2003操作系统环境下,Apache HTTP Server与Tomcat的集成是常见的Web服务器配置,用于构建高性能、高可扩展性的Java应用服务器环境。Apache作为静态内容的强大处理者,Tomcat则专精于执行Java ...
apache tomcat负载集群,appache负载,tomcat负载
通过集成Apache和Tomcat,可以构建一个高效且可扩展的Web服务器集群,实现负载均衡和session复制功能。 集群技术的主要目标是提高系统的可用性和性能,通过将工作负载分散到多个服务器上,避免单点故障,并提高处理...