前言:
使用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文件编辑如下:
(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,在后面追加
注意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",说明你所有配置无误