`

Apache与Tomcat整合,实践操作版

阅读更多

一.Apache与Tomcat介绍

    Apache是当前使用最为广泛的WWW服务器软件,具有相当强大的静态HTML处理的能力。

     Tomcat服务器是一个免费的开放源代码的Web应用服务器,它是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和   其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP   规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet 2.4和JSP 2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。



二.为什么需要整合

整合的最主要原因是为了在现有的硬件条件下提供最大的负载。

如果单独使用Tomcat做JSP服务器,在工作效率上会存在问题,Tomcat处理静态HTML的能力不如Apache,并且所能承受的最大并发连接数也有一定的限制;

在测试中,当并发连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接失去响应。所以现在提出一个“整合”解决方案:将html与 jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache这个web server处理。Apache与Tomcat各司其职,那么服务器的整体效率就能够得到提升。



三.整合的基本原理

作为Apache下面的子项目,Tomcat 与 Apache之间有着天然的联系。在实际操作中,主要是Apache作为主服务器运行,当监听到有jsp或者servlet的请求时,将请求转发给 tomcat服务器,由tomcat服务器进行解析后,发回apache,再由apache发回用户。

在tomcat中有两个监听的端口,一个是8080用于提供web服务,一个是8009用于监听来自于apache的请求。当apache收到 jsp或者servlet请求时,就向tomcat 的8009端口发送请求,交由tomcat处理后,再返回给apache,由apache返回给客户。



四.安装Apache与Tomcat服务器

   操作系统环境:Windows xp home

   安装文件:apache-tomcat-6.0.14.exe apache_2.2.6-win32-x86-openssl-0.9.8e.msi mod_jk-apache-2.2.4.so



  到apache 与tomcat 的官方网站上面下载apache 与tomcat,安装apache与tomcat

     到http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32下载 mod_jk-apache-2.2.4.so

     将mod_jk-apache-2.2.4.so拷贝到apache安装目录下面的modules目录中。

五.修改Tomcat设置

     在tomcat的conf目录下建一个workers.properties的文本文件,添加如下配置



     workers.tomcat_home="tomcat安装目录"

     #让mod_jk模块知道Tomcat的安装路径

     workers.java_home="java安装目录"

     #让mod_jk模块知道jdk路径

     ps="
     #ps的用途不清楚,不知道是干嘛的
     worker.list=ajp13

     #这里是关键,名字要和httpd.conf的一致。如果这里改了httpd.conf也要改。

     worker.ajp13.port=8009

     #工作端口,tomcat的jk监听端口,可以查看Server.xml中有port="8009"           

     worker.ajp13.host=localhost

     #Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP

     worker.ajp13.type=ajp13

     #类型,好像不能改,会出问题

     worker.ajp13.lbfactor=1

     #负载平衡因子   



六.修改Apache设置

    修改apache安装目录下conf目录下的httpd.conf,增加如下配置

    打开d:\Apache\Apache2\conf下的httpd.conf,在最后加入下面这段代码并保存。

    #设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
    
    LoadModule jk_module modules/mod_jk_2.0.55.so
    #此处mod_jk的文件为你下载的文件

    JkWorkersFile "d:/Tomcat/conf/workers.properties"
    #指定tomcat监听配置文件地址

    JkLogFile "d:/Tomcat/logs/mod_jk2.log"
    #指定日志存放位置

    JkLogLevel info
    #指定日志输出的级别为:INFO级别

    #设置虚拟主机

    <VirtualHost localhost>

        ServerAdmin localhost

        DocumentRoot d:/test1
        #您的站点项目所在路径,应与tomcat中的目录设置相同

        ServerName localhost

        DirectoryIndex index.html index.htm index.jsp

        ErrorLog logs/shsc-error_log.txt

        CustomLog logs/shsc-access_log.txt common

        JkMount /servlet/* ajp13
        #让Apache支持对servlet传送,用以Tomcat解析

        JkMount /*.jsp ajp13
        #让Apache支持对jsp传送,用以Tomcat解析

        JkMount /*.do ajp13
        #让Apache支持对.do传送, 用以Tomcat解析

    </VirtualHost>

七.整合操作说明

  mod_jk-apache-2.2.4.so相当于是apache与tomcat之间的桥梁一样,所以在apache的配置文件下面加上LoadModule jk_module modules/mod_jk-apache-2.2.4.so 将此模块载入。

JkWorkersFile "tomcat安装目录/conf/workers.properties" 说明了mod_jk-apache-2.2.4.so 如何工作,当出现要转发时,将请求发送到那里进行处理,代表了一系列的工作参数。

JkLogFile "apache安装目录/logs/mod_jk.log" 设定日志的地址。

JkMount 说明了将什么样的URL进行发送到tomcat进行处理。JkMount /*.jsp ajp13 说明了要将jsp请求发到tomcat,JkMount /*.do ajp13说明了要将.do型的servlet发到tomcat进行处理。在实际的分发中,如果servlet命名不带后缀的话,将无法被识别,也就无法进行处理。

八.结束语

在查阅了不少文章之后,我仔细的了解了下这两者进行整合的过程,网上很多文章讲的整合应该不算是真正意义上面的整合,希望此文章能够为正为这些问题苦恼的同行们解决一点小困难……。

分享到:
评论

相关推荐

    ApacheTomcat整合入门级教程

    提供的文档资料如《ApacheTomcat整合教程.pdf》和《BOXIN网站系统环境搭建APACHE+TOMCAT.pdf》将更深入地指导你完成具体步骤。在学习过程中,遇到问题可参考官方文档或社区资源,不断积累经验,提高技术水平。

    apache+tomcat整合

    本文将详细解析Apache与Tomcat整合的关键知识点,包括整合的目的、原理、配置步骤以及优化策略。 ### 整合目的 Apache与Tomcat的整合主要目的是实现负载均衡,提高Web应用的可用性和响应速度。Apache作为高性能的...

    apache和tomcat整合.pdf

    通过以上步骤和知识,初学者可以更好地理解和实践Apache与Tomcat的整合,提升服务器的性能和稳定性。同时,提供的"SVN整合Apache及Eclipse.pdf"文件可能包含如何将Apache、Subversion(SVN)版本控制系统与Eclipse...

    Windows环境下的tomcat + apache配置(绝对实践操作版).rar

    在Windows环境下,将Apache HTTP服务器与Tomcat应用服务器进行整合是常见的Web服务器部署方式,这样可以充分利用Apache的静态资源处理能力和Tomcat的动态内容处理能力。以下是对这个配置过程的详细解析。 首先,...

    Linux下Tomcat与Apache Web服务器整合

    **Apache与Tomcat整合** 在实际应用中,Apache和Tomcat的整合能充分利用两者的优势。一种常见的整合方式是使用Apache作为前端服务器处理静态内容,将动态请求通过Apache的mod_proxy模块转发给Tomcat处理。这样可以...

    tomcat+apache 6.0集成打包

    【标题】"tomcat+apache 6.0集成打包"涉及的是在服务器环境中整合Apache HTTP Server与Apache Tomcat的常见技术实践。这个压缩包包含了Apache 2.2.8和Tomcat 6.0.16这两个特定版本,以及JK模块(即mod_jk)的2.0.55...

    通向架构师的道路之Apache整合Tomcat

    #### 二、Apache与Tomcat整合的优势与实践 ##### 优势: 1. **性能提升**:通过让Web Server处理静态内容,可以显著减轻App Server的负担,提高整个系统的响应速度和性能。 2. **安全性增强**:将App Server和DB ...

    Apache与Tomcat集群,伪静态,负载均衡

    在ApacheTomcat整合教程.doc文件中,详细步骤和配置示例应会涵盖以上内容,包括Apache和Tomcat的安装指南、模块的启用方法、配置文件的编辑技巧以及负载均衡策略的设置。通过这份文档,你可以逐步实践并掌握这些技术...

    Lotus与Tomcat整合

    总之,将Lotus Domino与Apache Tomcat整合是一种常见的企业级技术实践,目的是充分利用两者的优点,提升Web应用的性能和功能。这个过程涉及到多个层次的配置和调试,但完成后,企业将能够享受到更加灵活和强大的Web...

    apache-tomcat-5.5.26整合JBPM

    本项目是将Apache Tomcat与JBPM(Business Process Management)进行整合的一个示例,旨在帮助开发者理解如何在Tomcat环境中运行和管理业务流程。 JBPM是一款开源的工作流和业务流程管理系统,它提供了一个全面的...

    tomcat整合solr.rar

    标题中的"tomcat整合solr.rar"提示我们这是一个关于如何将Apache Tomcat与Apache Solr进行集成的资源包。Tomcat是广泛使用的Java Servlet容器,而Solr则是一个开源的全文搜索引擎,常用于构建高效的搜索功能。这个...

    ActiveMQ与Tomcat整合

    **ActiveMQ与Tomcat整合详解** ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循JMS(Java Message Service)规范,用于处理应用程序之间的异步通信和消息传递。而Tomcat是一款流行的开源Web服务器和...

    Apache+Tomcat+MySQL+jsp+php的服务器整合配置

    整合的关键在于mod_jk.dll模块,这是一个Apache的模块,允许Apache与Tomcat之间通信。将mod_jk.dll添加到Apache的modules目录下,并编辑Apache的配置文件httpd.conf,加载mod_jk模块,并设置JKMount指令,指定哪些...

    apache-tomcat-5.5.26

    与Eclipse的整合是Apache Tomcat 5.5.26的一大亮点。Eclipse是一款广泛使用的Java IDE,它提供了丰富的开发工具和插件。通过安装如“Tomcat插件”或“Servers插件”,开发者可以在Eclipse内部管理Tomcat服务器,包括...

Global site tag (gtag.js) - Google Analytics