您的位置:首页 > 运维架构 > Tomcat

整合tomcat和apache

2005-06-07 16:10 176 查看
这是我第一次写文章,也可能是我最后一次写:),因为我很少写,没时间,但由于我的痛苦经历,加上我的同情心(^_^),我不想让别人犯和一样的错误。好了,闲言少叙。
  1.下载jk2,此插件用于整合apache和其它服务器(IIS、Tomcat均在此列),没有它我们就什么也玩不转了。下载地址:http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip,或者你可以到http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/这里去找合适的版本,以后肯定会有更新的版本,到时再直接给大家下载路径就无效了,呵呵。
  2.jk2是目前最新的版本,以前有jk,相比jk,jk2功能更加强大,如何强大?好像是支持jni之类的东西,我没有深研究,现在也用不上,反正你只要知道jk2好,强大即可。jk2支持所有版本的apache和所有版本的tomcat整合。
  3.在apache的conf下建立workers2.properties(必须用这个名字,否则即使在httpd.conf里JkSet config.file conf/workers.properties这样自定的名字也是不好用的,反之起了这个名字,这个指令也是多余的),它的作用是指定apache把什么路径的什么文件转发给tomcat运行等等信息,如:
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
[uri:/examples/*.jsp] #examples代表tomcat里的一个虚拟路径,可以写任意个虚拟路径,每个虚拟路径可以有任意个可转发给tomcat的扩展名的匹配
[uri:/task4/*.jsp]#另一个虚拟路径,指示apache,只把task4的工程的jsp文件转发给tomcat运行。
worker=ajp13:localhost:8009 #不知何用
4.在apache的conf/httpd.conf的末尾加上:
     LoadModule jk2_module "modules/mod_jk2.so",这里的路径分隔符用/和/都可以,没有影响。这句话的作用是加载jk2的模块文件。
5.把jk2的文件mod_jk2.so拷贝到apache的modules里
注:
1.tomcat默认用8009端口监听其它和它整合的服务器
2.启动tomcat和apache的顺序:先启动tomcat,等它启动完后,再启动apache,否则会报错:内部错误。
3.jk2比jk功能更强大。
4.如何证明整合成功?
 运动同一个页面,路径一个写端口(tomcat),一个不写端口(apache),都能正常运行,证明成功。 
5.apache的端口默认是80
后记:这篇文章提到的做法也是参考csdn里的一个文档里做的,不过,它没有提到如何添加多个虚拟路径,而且,有很多细节没讲明白,吃了很多苦头,断断续续做了2天,总算搞定,可笑的是,开始我就是这么做的,不好用,但后来,突然就好用了,晕倒。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息