日期:2014-05-16  浏览次数:20786 次

Apache Server + Tomcat 集成配置

  java与.net的最大区别之一就是各种框架的配置过于复杂,而让许多程序员在此浪费大量时间,由于许多框架和技术都是开源的,所以文档的完整性也受到一定的考验。这些天因为一个项目的原因对apache和tomcat的集成配置进行研究,查遍了网上的文章都是一些乱七八糟的东西,可以看出版本没有几个,都是左抄右抄,鼠标点了几百遍,以为看到了希望,结果还是同一篇文章,问题依然没有解决,索性到apache的官方网站去看看,结果官方文档也是乱七八糟,版本不批配,有些旧的文档都没有及时的更新,让人摸不着头脑,现将我这两天来进行摸索终于配置成功的经验公开一下,望更多的程序员不要走弯路。
  为了简单起见,我这里使用的是最简配置,以便你尽快看到希望,关于更加复杂的配置可以根据自己需要进行研究,或邮件给我。
  我使用的各软件版本如下:
  Apache2.2
  Tomcat-6.0.16
  mod_jk-1.2.26-httpd-2.0.59.so
  以上软件都可以在http://www.apache.org网站下载到,如有不知下载的可以与我联系。


  下面开始安装和配置:
  1)安装Apache2.2到本机
  2)解压Tomcat-6.0.16到本机
  3)重命名mod_jk-1.2.26-httpd-2.0.59.so为mod_jk.so
  4)拷贝mod_jk.so到Apache2.2安装目录下的modules目录
  5)进入Apache2.2安装目录,进入conf目录,新建两个文件,分别为mod_jk.conf,workers.properties


  6)修改mod_jk.conf文件如下:
    LoadModule? jk_module? modules/mod_bin.so #加载mod_jk.so
    JkWorkersFile? conf/workers.properties
    JkMount ? /*.*? ajp13 #指定哪些请求交给tomcat处理

  7)修改workers.properties文件如下:
    workers.tomcat_home=D:/tomcat-6.0.16 #这是你的tomcat安装目录
    workers.java_home=D:/jdk1.6.0_03 #这是你的jdk的目录
    worker.list = ajp13
    worker.ajp13.port=8009 #tomcat中ajp的端口
    worker.ajp13.host=localhost #tomcat的主机地址
    worker.ajp13.type=ajp13
    worker.ajp13.lbfactor=1 #server的加权比重,值越高,分得的请求越多


  8)修改httpd.conf,在文件末尾追加内容如下:
    include? "D:/Apache2.2/conf/mod_jk.conf" #此处填写你本机上的实际地址


  至此,Apache + Tomcat的配置完成,其实非常简单。
  启动你的Tomcat,先访问http://localhost:8080,看你的Tomcat是否正常,再启动Apache Server,如果启动正常请访问http://localhost,如果同样出现tomcat主页,证明配置成功。


  如配置上出现问题请联系我。

?

1 楼 idealab 2008-07-31  
配置没出问题,但是配置完成之后登录http://localhost,没有显示tomcat主页,请楼主给予建议。
2 楼 makar 2008-08-04  
先确认版本跟我的一致.
另外,你访问http://localhost后出现的是什么页面?
3 楼 makar 2008-08-04  
注意,在第六步进行访问规则配置时,如果你想让所有的请求都转发给tomcat,那么你的配置将是JkMount /*.* ,如果只有jsp请求由tomcat处理,那么你的配置就是JkMount /*.jsp,这个要根据个人需求来设置了.
对于按照以上配置完成后无法成功访问tomcat主页的问题,可能是跟JkMount /*.jsp配置有关,因为只有*.jsp的访问才会转交给tomcat,所以访问http://localhost就不会转交给tomcat了.
4 楼 xzs603 2009-04-13  
好精简啊,喜欢。。

不过这样能不能把java框架的东西委托呢?
5 楼 makar 2009-04-27  
xzs603
你说的JAVA框架是不是struts,spring,hibernate....等东西?
其实apache对与tomcat来说只是处理静态jsp的速度强了一些,对于servlet来说还是要通过tomcat来解析的。
6 楼 yzdxtyatbj 2010-11-04  
mod_jk.conf的配置为什么是
LoadModule  jk_module  modules/mod_bin.so
而不是
LoadModule  jk_module  modules/mod_jk.so?
7 楼 勇-高 2011-09-08  
我按照楼主所说配置了apache,但是每次都说无法将so文件添加进主机,怎么弄?
8 楼 honeyweishu 2011-09-20  
楼主,你太强大了,我搞了一天都没搞出来,就看了你这个帖子,几分钟就搞定了, 太感谢你了,支持你。
9 楼 honeyweishu 2011-09-21  
楼主,我有问题了,
        在底6步)修改mod_jk.conf文件如下:
    LoadModule  jk_module  modules/mod_bin.so #加载mod_jk.so
    这里是不是“mod_bin.so”应该写成mod_jk.so.


        但是在第8步)
 &nbs