Apache2.2 与 Tomcat5.5 整合配置
由于好一阵子没弄这个了,今天看同事在弄,没弄出来,就过来看看,我开始以为按我以前配置的Apache2.0和Tomcat5.0那样配置就行了,最后,弄了一阵子没出来,网上搜索,发现Apache2.2已经改变了不少,不同于apache2.0的配置,所以就得重来,下面从网上的一些文章及自己的一些操作写下来:
在Apache2.2中已经集成了对tomcat支持的ajp—proxy_ajp模块,我们就直接用它来配置整合。
windows下的配置整合:
假设你机器上已经安装配置好了jdk、jre、tomcat,apache。这个安装就不多介绍了。
我使用的是jdk1.5、tomcat5.5.28、Apache 2.2.13(安装apache时要填入domain什么的填入localhost就行)。用%apache%表示apache安装目录,用%tomcat%表示tomcat安装目录
剩下主要说下配置,如果没什么特殊情况,在浏览器下输入:http://locahost能够看到页面输出:It works!说明安装正确,又或者出现403禁止访问页面,这时你要打开看下在%apache%/conf/httpd.conf中的大概192行即:
|
1
2
3
4
5
6
|
<
Directory
/>
Options FollowSymLinks
AllowOverride None
order deny,allow
Deny from all
</
Directory
>
|
中的
Deny from all
它的意思就禁用一切请求,把这改为
Allow from all
就不会出现403禁止页面了.
配置apache:
在%apache%/conf/httpd.conf中的大概110行位置,把下面两行前面的#号去掉
#加载支持tomcat的ajp解析模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
在大概462行,把下面一句前的#号也去掉
# Virtual hosts 在httpd-vhosts.conf文件中配置虚拟主机
Include conf/extra/httpd-vhosts.conf
这样整个httpd.conf文件配置完毕。下面转到%apache%/conf/extra/httpd-vhosts.conf,在这里面配置好虚拟主机:
在这个文件末端添加:
ServerAdmin webschool@163.com
#网站存放目录
DocumentRoot “D:/webschool”
#服务器名称
ServerName webschool
#禁止使用proxy_ajp代理的目录
ProxyPass /images/ !
#使用proxy_ajp代理;下面的配置,是把所有目录全用代理
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
#下面为日志存放路径,目录D:/logs在磁盘上一定要真实存在
ErrorLog D:/logs/localhost-error_log
CustomLog D:/logs/localhost-access_log common
这样既添加了一个虚拟主机。到此apache的配置就完毕,重启下apache,配置生效。
tomcat配置:
tomcat里面的配置主要就是把虚拟目录配置好,打开%tomcat%/conf/server.xml文件,在大概209行位置:将默认的主机改为:
|
1
2
|
<
Host
name
=
"localhost"
debug
=
"0"
appBase
=
"D:\webschool"
unpackWARs
=
"true"
autoDeploy
=
"true"
>
<
Context
path
=
""
docBase
=
"D:/webschool"
debug
=
"0"
reloadable
=
"true"
/>
|
这样tomcat的虚拟主机和apache的虚拟主机都指向一个目录,至此,配置也就结束,重启下tomcat,在D:/webschool下新建一个index.jsp文件:
<H1>
<%
out.print("Hello WebSchool!!!!");
%>
</H1>
在浏览器中输入http://localhost,应该就可以看到输出结果为:
Hello WebSchool!!!!
也就说我们配置成功。
最后说明:
1、apache对tomcat的支持历史:apache第2.1版本后,内置了proxy_ajp,而jk2已经没人开发了,jk则支持到apache的2.0.58版本。
proxy_ajp配置较简单,但可配置性还不如jk2,主要表现在proxy_ajp目前只支持配置到目录,还不支持对文件名称的pattern模式匹配(即还不能定义到只对jsp文件起作用)。
2、因为proxy_ajp的配置,还不支持对文件名称的pattern模式匹配,所以你要特别注意:
——尽量把jsp和静态文件和图片路径分不同的目录来管理;
——对于静态文件和图片路径,如/images,你可用“ProxyPass /images !”来禁止ProxyPass,从而来让apache来直接处理图片的请求。
——关于apache的ssi(即shtml,include)与tomcat的集成时,shtml文件不能处于ProxyPass的控制下(即不能在ProxyPass目录),而shtml调用的jsp须在ProxyPass有效控制下;
声明:转载原创文章时请注明:
文章转载自:快乐心情, 原文地址:Apache2.2 与 Tomcat5.5 整合配置
本文详细介绍了如何配置Apache2.2与Tomcat5.5的整合,包括修改Apache的httpd.conf文件以加载支持Tomcat的模块,配置虚拟主机,以及调整Tomcat的server.xml文件来指定应用的部署目录。

被折叠的 条评论
为什么被折叠?



