Apache http Server与Tomcat整合 2

转 : http://www.diybl.com/course/3_program/java/javashl/2008124/152938.html

既然 Tomcat 本身已经可以提供这样的服务,我们为什么还要引入 Apache 或者其他的一些专门的 HTTP 服务器呢?原因有下面几个:
Apache的HTTPD是目前比较受欢迎的网站服务器软件,它不但功能强大,而且完全免费,并且支持市场上流行的各种操作系统(Windows,Linux,Mac os)。同时对于Java Servlet/JSP的支持,通常也会使用同样Apache出品的Tomcat。
Tomcat除了支持Java Servlet/JSP之外,也可以当做网站服务器使用,但是在对于静态的html文件、图片文件等的解析效率上不如Apache HTTPD的执行效率高。应用tomcat的服务器如果网站的访问量较大,系统资源占用会明显升高,近日笔者在项目执行过程中遇到这一问题,便也想到同时应用tomcat+apache服务。Apache负责静态资源处理,tomcat负责jsp和java servlet等动态资源的处理。

整合之后的好处是:


1. 提升对静态文件的处理性能
2. 利用 Web 服务器来做负载均衡以及容错
3. 无缝的升级应用程序

 


原理:

tomcat 为一个servelet容器,apache为一个web server,两者之间通信通过mod_jk的模块(由web服务器像apache、iis等使用)和Web Server通信,Tomcat 默认的 AJP Connector 的端口是 8009.整个过程其实就是让apache的httpd.conf文件调用mod_jk.conf,mod_jk.conf调用workers.properties,最后配置虚拟主机。
文件说明 :

mod_jk.conf

主要定义mod_jk模块的位置以及mod_jk模块的连接日志设置,还有定义worker.properties文件的位置。
worker.properties
定义worker的参数,主要是连接tomcat主机的地址和端口信息。如果Tomcat与apache不在同一台机器上,或者需要做多台机器上tomcat的负载均衡只需要更改workers.properties文件中的相应定义即可。

%APACHE_HOME%为你的安装目

整合

1、准备下载下列文件:

Jdk1.5
下载地址: http://java.sun.com
tomcat 5.5.9
下载地址:http://jakarta.apache.org
apache_2.2.4-win32-x86-no_ssl.msi
下载地址: http://httpd.apache.org/download.cgi
mod_jk-apache-2.2.3.so

下载地址:http://archive.apache.org/dist/jakarta/tomcat-connectors/

2、安装好Jdk、tomcat、apache后,加入mod_jk连接模块,就是把mod_jk-apache-2.2.3.so文件重名为mod_jk.so文件并拷贝到%APACHE_HOME%"modules下

3、修改apache的配置文件:

为了保持httpd.conf文件的简洁,把jk模块的配置放到单独的文件中来,就在httpd.conf中增加一行调用
代码  include %APACHE_HOME%Apache2"conf"mod_jk.conf

4:配置mod_jk.conf
请注意使用绝对路径
其实最关键的就是 第一条 第二条 和最后一条,如果要精简,就保留这三条内容就可以了。
代码
# Load mod_jk module

LoadModule jk_module "E:"Program Files"Apache Software Foundation"Apache2.2"modules"mod_jk.so"

# Where to find workers.properties

JkWorkersFile "E:"Program Files"Apache Software Foundation"Apache2.2"conf"workers.properties"

# Where to put jk logs

JkLogFile "E:"Program Files"Apache Software Foundation"Apache2.2"logs"mod_jk.log"

# Set the jk log level [debug/error/info]

JkLogLevel info

# Select the log format

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# JkOptions indicate to send SSL KEY SIZE,

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format


文章出处:http://www.diybl.com/course/3_program/java/javashl/2008124/152938.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值