您的位置:首页 > 运维架构 > Tomcat

apache tomcat 整合

2015-12-24 18:08 519 查看
第一部分  整合过程

第一步: 在http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.6下载mod_jk_1.2.6_2.0.50.dll文件,将其改名为mod_jk.so后放到apache2/modules目录中。

            

第二步: Apache安装目录(D:\Program
Files\Apache2.2\conf下新建) workers.properties:

   

workers.tomcat_home=D:\My_Work\Tomcat\apache-tomcat-6.0.14

workers.java_home=D:\Program Files\Java\jdk1.5.0_07

ps=\

worker.list=ajp13

worker.ajp13.port=8009

worker.ajp13.host=localhost

worker.ajp13.type=ajp13

worker.ajp13.lbfactor=1

            

第三步:用记事本打开apache/conf/httpd.conf文件末尾,添加下面一段:

    

LoadModule jk_module modules/mod_jk.so

JkWorkersFile "D:\Program Files\Apache Software
Foundation\Apache2.2\modules\workers.properties"

#ServerAdmin xxxx@www.baidu.com

#ServerName localhost

DirectoryIndex index.html index.htm index.jsp

JkMount /*
ajp13   

JkAutoAlias
"D:\My_Work\Tomcat\apache-tomcat-6.0.14\webapps"  

Options Indexes FollowSymLinks

#allow from all

 保存,停止apache服务,在启动,就可以将新配置应用了。

--------------------------------------------------------------------------------

第二部分 整合的必要性和详细讲解

一.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="

    
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,增加如下配置

  LoadModule jk_module modules/mod_jk-apache-2.2.4.so

      
JkWorkersFile "Apache安装目录/conf/workers.properties"

    JkLogFile
"Apache安装目录/logs/mod_jk.log"

     
JkMount /*.jsp ajp13

     
JkMount /*.do ajp13

七.整合操作说明

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

JkWorkersFile
"Apache安装目录/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命名不带后缀的话,将无法被识别,也就无法进行处理。

八.结束语

在查阅了不少文章之后,我仔细的了解了下这两者进行整合的过程,网上很多文章讲的整合应该不算是真正意义上面的整合,希望此文章能够为正为这些问题苦恼的同行们解决一点小困难……。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: