日期:2014-05-16  浏览次数:20713 次

tomcat与apache服务器集成,并使用tomcat集群

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访问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协议

  AJP是为Tomcat与HTTP服务器之间通信而定制的协议,能提供较高的通信速度和效率。在配置Tomcat与HTTP服务器集成中,读者可以不必关心AJP协议的细节。关于AJP的知识也可以参考网址:
  http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk2/doc/common/AJPv13.html

?

Windows下Tomcat与Apache服务器集成

包括了五个步骤,这里不细说,只描述其步骤名称。

?

  1. 安装Apache服务器。
  2. 在Apache服务器中加入JK插件。
  3. 创建workers.properties文件。
  4. 修改Apache服务器的配置文件httpd.conf。
  5. 测试配置。
这以上的文字和图,出之孙卫琴的《Tomcat与Java Web开发技术详解第二版》

非常简单的配置