Tomcat与Apache服务器集成

Tomcat最主要的功能是提供Servlet/JSP容器,尽管它也可以作为独立的Java Web服务器,它在对静态资源(如HTML文件或图像文件)的处理速度,以及提供的Web服务器管理功能方面都不如其他专业的HTTP服务器,如IIS和Apache服务器。

因此在实际应用中,常常把Tomcat与其他HTTP服务器集成。对于不支持Servlet/JSP的HTTP服务器,可以通过Tomcat服务器来运行Servlet/JSP组件。

当Tomcat与其他HTTP服务器集成时,Tomcat服务器的工作模式通常为进程外的Servlet容器,Tomcat服务器与其他HTTP服务器之间通过专门的插件来通信.

1.Tomcat与HTTP服务器集成的原理:
Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户的请求,以及把Tomcat服务器的响应结果发送给客户。默认情况下,Tomcat在server.xml中配置了两种连接器:

<!-- Define a non-SSL Coyote HTTP/1.1
Connector on port 8080 -->
    <Connector port="8080"
               maxThreads="150"
   minSpareThreads="25"
   maxSpareThreads="75"
               enableLookups="false"
   redirectPort="8443"
   acceptCount="100"
               debug="0"
   connectionTimeout="20000"
               disableUploadTimeout="true" />

    <!-- Define a Coyote/JK2 AJP 1.3
Connector on port 8009 -->
    <Connector port="8009"
               enableLookups="false"
   redirectPort="8443" debug="0"
               protocol="AJP/1.3" />
第一个连接器监听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。

2.  JK插件
Tomcat提供了专门的JK插件来负责Tomcat和HTTP服务器的通信。应该把
插件安置在对方的HTTP服务器上。当HTTP服务器接收到客户请求时,它会通过JK插件来过滤URL,JK插件根据预告配置好的URL映射信息,决定是否把客户请求转发给Tomcat服务器处理。
3.  AJP协议
AJP是为Tomcat与HTTP服务器之间通信而定制的协议,能提供较高的通信速度和效率。
4.  在Windows下Tomcat与Apache服务器集成
Apache HTTP服务器是Apache软件组织提供的开放源代码软件,它是一个非常优秀的专业的Web服务器,为网络管理员提供了丰富多彩的Web管理功能,包括目录索引、目录别名、内容戴罪立功、可配置的HTTP错误报告,CGI程序的SetUID执行、子进程资源管理,服务器端图像映射、重写URL、URL拼写检查以及联机手册等。
Apache HTTP服务器本身没有提供Servet/JSP容器。因此,在实际应用中,把Tomcat与Apache集成,可以建立具有实用价值的商业化的Web平台。

Install step:
1.  安装Tomcat服务器
安装Tomcat之前,首先安装JDK,再安装Tomcat。
然后设置两个环境变量:JAVA_HOME,它是JDK的安装目录;CATALINA_HOME它是Tomcat的安装目录。
2.  安装Tomcat控制台
解压apache-tomcat-5.5.25-admin.tar.gz,把apache-tomcat-5.5.25\conf\Catalina\localhost\下面文件admin.xml拷贝到<CATALINA_HOME>\conf\Catalina\localhost\下;把apache-tomcat-5.5.25\server\webapps\下面文件夹admin拷贝到<CATALINA_HOME>\server\webapps\下。
3.  测试Tomcat的安装
要测试Tomcat的安装,必须先启动Tomcat服务器。Tomcat服务器启动后,就可以通过浏览器访问以下URL:
http://localhost:8080/
如果出现雄猫页面,就测试成功。
4.  测试Tomcat控制台
启动Tomcat服务器。Tomcat服务器启动后,就可以通过浏览器访问以下URL:
http://localhost:8080/admin/
如果出现控制台页面,就测试成功。
5.  安装Apache HTTP服务器
运行apache_2.2.4-win32-x86-no_ssl.msi,就启动了Apache HTTP服务器的安装程序,只要按默认设置进行安装即可。
6.  测试Apache HTTP的安装
Apache服务器启动后,通过浏览器访问以下URL:
http://localhost/
如果出现It Work!页面,就测试成功。
7.  在中加入JK插件
在Apache中加入插件,只要把mod_jk-apache-2.2.4.so拷贝到<APACHE_HOME>/modules目录下即可。
8.  创建workers.properties文件
workers.properties文件用于配置Tomcat的信息,它的存放位置为<APACHE_HOME>/conf/ workers.properties。它的内容如下:

Java代码 
workers.tomcat_home=C:\Program Files\Apache Software Foundation\Tomcat 5.5 
workers.java_home=C:\Program Files\Java\jdk1.5.0_06 
ps=\ 
worker.list=worker1 
worker.worker1.port=8009 
worker.worker1.host=localhost 
worker.worker1.type=ajp13 
worker.worker1.lbfactor=1 
以上文件中的属性描述参见表

9.修改Apache的配置文件httpd.conf

打开/conf/httpd.conf文件,在其末尾加入以下内容:

# Using mod_jk2.dll to
redirect dynamic calls to Tomcat
LoadModule  jk_module 
modules\mod_jk_2.0.46.dll
JkWorkersFile conf\workers.properties
JkLogFile  logs\mod_jk2.log
JkLogLevel  debug
JkMount  /*.jsp  worker1
JkMount  /helloapp/*  worker1

转自:http://xshq.iteye.com/blog/354259
http://tech.ccidnet.com/art/1077/20050607/263735_1.html

猜你喜欢

转载自leroyhzy.iteye.com/blog/1842234