`

Windows下Apache HTTPD与Tomcat的整合

阅读更多

一.Apache HTTPD与Tomcat介绍 
     Apache HTTPD(HTTP Server)是当前使用最为广泛的WWW服务器软件,具有相当强大的静态HTML处理的能力。它不但功能强大,而且完全免费,并且支持市场上流行的各种操作系统(Windows,Linux,Mac OS)。 
     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 HTTPD等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

二.为什么需要整合

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

如果单独使用Tomcat做JSP服务器,在工作效率上会存在问题,Tomcat对于静态的html文件、图片文件等的解析效率上不如Apache HTTPD,并且所能承受的最大并发连接数也有一定的限制。
在测试中,当并发连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接失去响应。所以现在提出一个“整合”解决方案:将html与jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache HttpD这个web server处理。Apache HttpD与Tomcat各司其职,那么服务器的整体效率就能够得到提升。

三.整合的基本原理

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

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


准备工作:
1、  apache HTTP Server 2.2.15
http://apache.etoak.com/httpd/binaries/win32/httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi
2、  Tomcat 6.0.26
http://apache.etoak.com/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26-windows-x86.zip
3、  JDK 1.6.0._10
http://java.sun.com/javase/downloads/widget/jdk6.jsp
4、  tomcat-connectors/jk 1.2.30
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.30/mod_jk-1.2.30-httpd-2.2.3.so

安装,软件的安装顺序可以适当调整,但是jre(jdk)一定要在tomcat之前安装:
1、安装JRE(JDK)
此处选择默认安装即可,(旧版本的JDK安装完之后需要设置系统的环境变量,JRE和JDK1.5.0以后版本不设置也没关系。)安装完成之后你可以选择按照下面的示例设置你的系统环境变量:我的电脑->右键属性->常规->高级->环境变量
CATALINA_HOME=D:\Tomcat6
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10
注意文件路径要改成你实际安装的路径。

2、Apache安装
此处注意,如果你本机已经装了iis并且占用80端口,务必先在服务中将iis停止或禁用。软件默认安装即可。安装过程中设置Network Domain和Server Name为localhost,设置你的email地址,下方会让你选择only for the current user或for all users。默认选择for all users。这样Apache就会占用80端口,并且做为一个系统服务开机自运行。
Apache的安装目录可以自由决定,我的是D:\Apache2.
安装完成之后,你在浏览器中输入http://localhost ,将会看到Apache的成功页面. 此时Apache,已经运行,你可以在窗口的托盘看到他的图标,双击图标,在弹开的窗口选择"Open Apache Monitor",点Stop,停止Apache服务,因为下面要安装Tomcat和JK.

3、Tomcat安装
选择安装目录为了D:\Tomcat6,其余为默认安装.成功后在浏览器中输入http://localhost:8080 ,出现Tomcat页面表示安装成功了。关于tomcat的设置已经有很多非常详细的文章,在此就不再详述了。

4、JK的安装
把mod_jk-1.2.30-httpd-2.2.3.so拷贝到D:\Apache2\modules\下.
以上安装全部完成后,打开cmd命令提示符,运行d:\Apache\Apache2\bin\Apache.exe -t 你将会看到"Syntax OK",表示Apache配置正常.这个命令非常有用,下面在继续配置Apache的时候还会再次用到。

配置服务器:
1、配置Tomcat
查找Tomcat目录下的 conf/server.xml文件,在<host></host>中间加入以下语句以修改其默认的目录:
<Context path="" docBase="D:\wwwroot" reloadable="true" crossContext="true"/>
在这里,如果 path 不为空,则设置的是虚拟目录,path 的值为虚拟目录名。

查找目录下的conf/workers.properties文件,并对比下方文本内容,如有不同以下方内容为准修改,如果文件不存在则创建并填充以下内容。
workers.tomcat_home=D:\Tomcat6 #让mod_jk模块知道Tomcat的位置
workers.java_home=C:\Program Files\Java\jre6 #让mod_jk模块知道jre的位置
ps=\
worker.list=ajp13 #模块版本
worker.ajp13.port=8009 #工作端口,若没占用则不用修改
worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改

2、配置Apache
打开D:\Apache2\conf下的httpd.conf,在一系列LoadModule最后加入下面这段代码并保存,其中DocumentRoot、ServerName、DirectoryIndex这几项是原来就存在的,这里要做的是更新它们的设置。

#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
LoadModule jk_module modules/mod_jk-1.2.30-httpd-2.2.3.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile "D:/Tomcat6/conf/workers.properties"
#指定tomcat监听配置文件地址
JkLogFile "D:/Tomcat6/logs/mod_jk2.log"
#指定日志存放位置
JkLogLevel info
JkMount /servlet/* ajp13
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.do ajp13
#让Apache支持对.do传送,用以Tomcat解析

#查找到DocumentRoot,并将其设为D:/wwwroot
DocumentRoot "D:/wwwroot" #您的站点项目所在路径,应与tomcat中的目录设置相同
#查找到ServerName,并将其设为localhost,这个因人而异
ServerName localhost
#查找到DirectoryIndex,并在其后增加index.htm index.jsp
DirectoryIndex index.html index.htm index.jsp

# 开头的行为注释,可以删除。实际上,Apache的配置可以非常灵活,你也可以采用虚拟目录的方式。

所有的修改完成这后,再次执行d:\Apache\Apache2\bin\httpd.exe -t 如果看到"Syntax OK",说明你所有配置无误,双击窗口的托盘中的图标,然后点击Start运行。在D:\wwwroot下创建一个页面index.jsp,里面简单的写几句话。
在地址栏中分别输入http://localhost/index.jsp ,与http://localhost:8080/index.jsp 若结果相同,Apache与Tomcat整合成功。

分享到:
评论
2 楼 qq85609655 2012-02-26  
BlueAeri 写道
Apache.exe 写错了,应该是 httpd.exe

欢迎你来到我的博客,你指出错误已经更正,感谢你的支持!
1 楼 BlueAeri 2012-02-24  
Apache.exe 写错了,应该是 httpd.exe

相关推荐

    Windows下Apache整合Tomcat

    NULL 博文链接:https://dacoolbaby.iteye.com/blog/1703393

    mod_jk各个版本 apache与tomcat 整合

    这个网址中,mod_jk各种版本的都有:(windows/linux... http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/tomcat-connectors-1.2.33-windows-i386-httpd-2.2.x.zip 【希望大家用的顺心】

    Apache2.2+Tomcat5.5整合配置教程

    Apache2.2+Tomcat5.5整合配置教程 Apache2.2.4 http://archive.apache.org/dist/httpd/binaries/win32/ Tomcat5.5.26 http://tomcat.apache.org/download-55.cgi jk.1.2.6.so ...

    Apache和Tomcat整合总结.pdf

    apache与tomcat整合总结操作文档,虚拟机环境下的Linux 用的Nat和本机相连 Linux IP: 192.168.128.129 XP IP: 192.168.128.1 OS:CentOS 5.4 JDK: CentOS自带的jdk-1.6.0 RPM包 PHP:php-5.1.6(linux光盘...

    apache2.2.11和tomcat6整合配置例子打包下载

    apache2.2.11和tomcat6整合配置例子打包下载,开发宝典...... apache2.2.11和tomcat6整合配置 1,下载mod_jk.so 2,在apache的httpd.conf里面加入下面的话 LoadModule jk_module modules/mod_jk.so JkWorkersFile "D:\...

    Httpd2.2与Tomcat8.5的整合

    通过mod_jk,实现Httpd2.2与Tomcat8.5的整合.运行时,静态文件由httpd服务器处理,遇到了脚本文件,则由mod_jk模块提交给tomcat处理。

    apache、tomcat整合及并发测试

    apache、tomcat整合及并发测试、及相关mod_jk文件下载、包含mod_jk-apache-2.2.4.so文件。httpd.conf/http_vhosts.conf/workers.properties配置

    Apache,Tomcat集群和负载均衡

    Apache,Tomcat集群和负载均衡包括了apache-tomcat-5.5.29.zip,apache_2.2.4-win32-x86-no_ssl.msi,mod_jk-1.2.28-httpd-2.2.3.so,ApacheTomcat整合文档.doc,Apache,Tomcat集群和负载均衡教程.doc,Tomcat负载...

    apache 和tomcat整合所需插件

    tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x

    Apache 整合 Tomcat

    Apache2.2.8与Tomcat6.0.16整合资源包. 内含: Apache2.2.8安装文件 Tomcat6.0.16安装文件 mod_jk-1.2.26-httpd-2.2.4.so插件文件. 并附示例配置说明

    APACHE 2.2.9+TOMCAT6.0.18配置负载均衡

    这样就说明apache和TOMCAT整合成功! 2、测试均衡器 通过http:// 127.0.0.1多次访问,要想看到真正的效果,必须用一些压力测试工具,可用微软Microsoft Web Application Stress Tool进行简单压力测试,不然你靠不停...

    Apache2.2整合Tomcat6所用软件包

    1. 配置httpd.conf 使用apache自带的proxy模块,去掉注释使其可用 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module ...

    apache+tomcat 实现负载均衡

    7 apache 整合tomcat 1)modules目录下添加模块:jk mod_jk-1.2.26-httpd-2.2.4.so 2)修改conf/httpd.conf 最后一行添加: include conf/mod_jk.conf 3)在conf目录下创建mok_jk.conf 内容: ...

    LAMP+tomcat整合配置文件

    apache配置文件httpd.conf 【加入了支持php和jsp】 tomcat配置文件server.xml 【加入服务目录是apache的htdocs】 workers2.properties放到apache的conf目录下,与httpd.conf相同目录 重启apache tomcat即可

    apache2.0.58 和mod_jk-apache-2.0.58.so

    整合apache和tomcat的 mod_jk

    Apache+Tomcat集群配置详解

    详细的介绍了Apache和Tomcat整合之后进行Apache集群配置,其中的系统选择和部分配置代码的修改要配合不同的系统进行修改。

    linux apache反向代理配置

    linux apache反向代理配置,写的有点乱,...先弄 apache和tomcat整合 把80端口给apache 举例 tomcatA 8080 tomcatB 8081 在apache的httpd.conf里写反向代理,用户名指向tomcat的端口,具体配置看这个文件夹里的配置文件

    Apache2.2以上版本与Tomcat整合配置及负载均衡实现

    今天技术总监叫实现Apache和Tomacat整合,在网上找了很多资料,结果发现还是这个最方便! 下面是实现2个tomcat实现负载均衡,如果只有一个则可删除一个 apache2.2以上版本,无需使用jk_mod来集成tomcat,直接使用ajp...

    Apache与Tomcat服务器整合的基本配置方法及概要说明

    首先,当然是安装Apache HTTP Server,并准备mod_jk.so文件,这些都可以在http://apache.org中找到,要注意的是,mod_jk.so的版本要和Apache HTTP Server的版本...在conf/httpd.conf的最后加上: #For Windows include

    mod_jk-1.2.30-httpd-2.2.X.so

    apache与tomcat 整合配置文件,基于httpd-2.2.x 在win/linux 32/64位下通用。

Global site tag (gtag.js) - Google Analytics