Apache和Tomcat 的整合应用

前言:
使用Apache的好处
Tomcat除了支持Java Servlet/JSP之外,也可以当做网站服务器使用,但是在对于静态的html文件图片文件等的解析效率上不如Apache HTTPD的执行效率高。应用tomcat的服务器如果网站的访问量较大,系统资源占用会明显升高,

Apache 和Tomcat 工作过程:

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

需求:
页面一个图片请求-》Apache获取请求-》转发到Tomcat Servlet->Servlet 执行解压缩程序->Servlet 输出到页面。


准备工作:

    JDK:D:\Program Files\Java\jdk1.6.0_18

    Apache2.2:D:\Apache2.2

    Tomcat:D:\tomcat-6.0.33

    下载mod_jk-apache-2.2.4.so文件放入到Apache的modules目录下


配置Tomcat:

(1)、在D:\tomcat-6.0.33\conf目录下创建workers.properties文件编辑如下:

#让mod_jk模块知道Tomcat的位置
workers.tomcat_home=D:\tomcat-6.0.33
#让mod_jk模块知道jre的位置
workers.java_home=D:\Program Files\Java\jdk1.6.0_18 
#模块版本
ps=\
worker.list=ajp13 
#工作端口,若没占用则不用修改
worker.ajp13.port=8009 
#本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.host=localhost 
#类型
worker.ajp13.type=ajp13 
#负责均衡因子
worker.ajp13.lbfactor=1

(2)、配置tomcat 目录下的server.xml 文件,在<host></host>加入

<Context path="" docBase="D:\mapbar\data\www\image" reloadable="true" crossContext="true"/>

D:\mapbar\data\www\image目录为图片tar包存放路径



配置Apache:

(1)、编辑httpd.conf,修改DocumentRoot 为:

DocumentRoot "D:\mapbar\data\www\image"

D:\mapbar\data\www\image路径存放的图片tar文件

(2)编辑httpd.conf,在后面追加

#设置Apache与Tomcat之间的连接,让Apache遇到jsp,gif,png,servlet文件时,在后台将其交由Tomcat去处理
#加载mod_jk文件
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
#加载跳转文件
LoadModule rewrite_module modules/mod_rewrite.so
#指定tomcat监听配置文件地址
JkWorkersFile "D:/tomcat-6.0.33/conf/workers.properties"
#指定日志存放位置
JkLogFile "D:/tomcat-6.0.33/logs/imges.log" 
JkLogLevel info
#重定向
RewriteEngine On
RewriteRule ^[/s/S]*/maplite/mapbank/mapbar/(.*)$ http://localhost/ImageTar/ReadTarImage/maplite/mapbank/mapbar/$1 [L]
# 只是图片请求的URL 进行发送到tomcat进行处理
#JKMount /*.gif ajp13
JKMount /*.png ajp13
#JkMount /servlet/* ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.jsp ajp13

注意RewriteRule 的写法
格式:模式(pattern)  跳转 [可选项]
(pattern)是一个正则式,用以匹配当前的URL。
比如:请求的url :http://localhost/maplite/mapbank/mapbar/7/58_25/3_0.png       
Apache 会自动跳转到 http://localhost/ImageTar/ReadTarImage/maplite/mapbank/mapbar/7/58_25/3_0.png。ImageTar为工程名称,ReadTarImage为一个Servlet。
在web.xml文件里面 <url-pattern>*.png</url-pattern>配置了*.png通配符,这样就进入了Servlet。
修改完成这后,再次执行D:\Apache2.2\bin\httpd -t 如果看到"Syntax OK",说明你所有配置无误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值