Apache2.2.4整合Tomcat6.0.16三种方式的详细配过程

通常都是通过jk_mod来整合apache和tomcat,但是apache2.2版本以上整合tomcat可以直接通过ajp_proxy来完成,很方便。下面把几种方式都简单讲讲。
假设一个apache,两个tomcat容器,访问 a.hackang.cn 和 b.hackang.cn 分别对应 tomcata 和 tomcatb 的应用
[b]第一种方式:jk_proxy[/b]
安装好apache和tomcat,下载mod_jk-1.2.26-httpd-2.2.4.so (2.2.4对应着apache版本)
将mod_jk-1.2.26-httpd-2.2.4.so 放到apache安装目录的modules文件夹下。
在apache安装目录的conf文件夹创建workers.properties配置文件,内容如下:
<table cellspacing='0' border='1' cellpadding='0' width='400'> <tbody> <tr> <td valign='top' width='400'> #下面是tomcat实例列表<br/>worker.list=tomcata,tomcatb
#tomcata实例配置<br/>worker.tomcata.host=127.0.0.1<br/>worker.tomcata.port=8009<br/>worker.tomcata.type=ajp13
#tomcatb实例配置<br/>worker.tomcatb.host=127.0.0.1<br/>worker.tomcatb.port=9009<br/>worker.tomcatb.type=ajp13
</td></tr></tbody></table> 编辑apache配置文件httpd.conf,在文件末尾加上以下内容:
<table cellspacing='0' border='1' cellpadding='0' width='400'> <tbody> <tr> <td valign='top' width='400'> #以下为tomcat集成配置部分<br/>loadmodule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so<br/>jkworkersfile conf/workers.properties<br/>jklogfile logs/mod_jk.log<br/>jkloglevel info<br/>#如果机器有多个ip地址请务必使用*号<br/>namevirtualhost *:80
 
#a.hackang.cn虚拟站点<br/><virtualhost *:80><br/>servername a.hackang.cn<br/>jkmount /*.* tomcata<br/>jkmount /* tomcata<br/>directoryindex index.jsp<br/></virtualhost>
#b.hackang.cn虚拟站点<br/><virtualhost *:80><br/>servername b.hackang.cn<br/>jkmount /*.* tomcatb<br/>directoryindex index.jsp<br/></virtualhost>
</td></tr></tbody></table> 下面是tomcat的配置,很重要。
tomcata可以使用默认配置,如果想访问 a.hackang.cn直接显示某应用的首页,可在tomcata的配置文件server.xml里面的host节点间加上
<table cellspacing='0' border='1' cellpadding='0' width='400'> <tbody> <tr> <td valign='top' width='400'> <context classname="org.apache.catalina.core.standardcontext" cachingallowed="true" <br/>charsetmapperclass="org.apache.catalina.util.charsetmapper" cookies="true" crosscontext="false" debug="0" displayname="a.hackang.cn" <font color='#ff0000'>docbase="e:\myweb\a"<br/></font>       mapperclass="org.apache.catalina.core.standardcontextmapper" path=""  privileged="false" reloadable="false" swallowoutput="false" usenaming="true" <br/>       wrapperclass="org.apache.catalina.core.standardwrapper"><br/></context>
</td></tr></tbody></table> <font color='#ff0000'>docbase指向的你应用所在的文件夹,不能将此应用部署到tomcata的webapps文件夹中。否则就有两个应用了,一个是根访问路径,一个是根访问路径+应用名了。</font>
<font color='#000000'>tomcatb的配置要稍加修改,修改 conf/server.xml文件</font>
<font color='#000000'><server port="8005" shutdown="shutdown">将此处的端口号改掉,不能与tomcata的相同,比如可以改成 </font><font color='#ff0000'>9005</font>
<font color='#000000'>修改默认的8080端口为<font color='#ff0000'>9090</font>,修改后如下:</font>
<table cellspacing='0' border='1' cellpadding='0' width='400'> <tbody> <tr> <td valign='top' width='400'> <connector port="9090" maxhttpheadersize="8192"<br/>             maxthreads="150" minsparethreads="25" maxsparethreads="75"<br/>             enablelookups="false" redirectport="8443" acceptcount="100"<br/>             connectiontimeout="20000" disableuploadtimeout="true" />
</td></tr></tbody></table> <font color='#000000'/> 
<font color='#000000'>修改端口号为8009的connector<br/></font><font color='#000000'>修改前为:<br/></font><connector port="8009" enablelookups="false" redirectport="8443" protocol="ajp/1.3" /><br/>修改后:<br/><connector port="<font color='#ff0000'>9009</font>" enablelookups="false" redirectport="8443" protocol="ajp/1.3" />
此处的9009跟workers.properties文件中tomcatb的端口号是一致的。
如果也想访问 b.hackang.cn时直接显示应用b,配置方法同a,以上已经提及,只需将<font color='#ff0000'>docbase="e:\myweb\a" 改成 </font><font color='#ff0000'>docbase="e:\myweb\b"即可</font>
<font color='#ff0000'>最后编辑c:\windows\system32\drivers\etc\hosts文件,在最后加上两个映射</font>
<font color='#ff0000'>  127.0.0.1  <font color='#ff0000'>a.hackang.cn <br/><font color='#ff0000'>  127.0.0.1  <font color='#ff0000'>b.hackang.cn </font></font></font></font>
<font color='#ff0000'/> 
<font color='#ff0000'><font color='#000000'>至此,配置就结束了,可以用apache的test configuration命令测试一下配置文件,如果没有问题,启动apache,再分别启动两个tomcat就ok了</font><br/></font>
[b]<font color='#000000'>第二种方式配置: ajp</font>[/b]
<font color='#000000'>apache2.2以上版本,无需使用jk_mod来集成tomcat,直接使用ajp,很方便。</font>
<font color='#000000'>修改apache配置文件httpd.conf</font>
<font color='#000000'>启用mod_proxy_ajp</font>
#loadmodule proxy_module modules/mod_proxy.so<br/>#loadmodule proxy_ajp_module modules/mod_proxy_ajp.so
把这两行前面的#去掉即可
然后在末尾加上
<virtualhost *:80><br/> proxypass / ajp://127.0.0.1:8009/<br/> proxypassreverse / ajp://127.0.0.1:8009/<br/> servername a.hackang.cn<br/></virtualhost><br/><virtualhost *:80><br/> proxypass / ajp://127.0.0.1:9009/<br/> proxypassreverse / ajp://127.0.0.1:9009/<br/> servername b.hackang.cn<br/></virtualhost>
<font color='#000000'>搞定!!!方便吧,我现在用的就是这种。</font>
[b]第三种方式[/b]
第三种方式其实跟第二种差不多,只不过用的是http端口
<virtualhost *:80><br/> proxypass / <a href='http://127.0.0.1:8080/'>http://127.0.0.1:8080/</a><br/> proxypassreverse / <a href='http://127.0.0.1:8080/'>http://127.0.0.1:8080/</a><br/> servername a.hackang.cn<br/></virtualhost><br/><virtualhost *:80><br/> proxypass / <a href='http://127.0.0.1:9090/'>http://127.0.0.1:9090/</a><br/> proxypassreverse / <a href='http://127.0.0.1:9090/'>http://127.0.0.1:9090/</a><br/> servername b.hackang.cn<br/></virtualhost>
此处的9090跟tomcatb中配置的http端口一致
 
到此apache整合tomcat全部结束,若要加强tomcat处理静态资源的能力,可以启用apr服务。
<font color='#000000'/> 
<font color='#ff0000'> </font>
<font color='#ff0000'><br/></font>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值