有的项目需要
如果请求静态页面则由apache处理
如果请求动态一些东西则由tomcat处理
比如 www.a.com 访问index.html(静态由apache处理);www.a.com/login 访问 soflogin.jsp后台登陆页(由tomcat处理)
因此,一个项目要将apache和tomcat整合起来
apache转发请求到tomcat
1、将mod_jk-apache-2.2.4.so组件和workers.properties文件copy到D:/Program Files/Apache Software Foundation/Apache2.2/modules下。
注:mod_jk-apache-2.2.4.so可以网络下载,对apache2.2.9照样适用
workers.properties文件内容如下:#号以及后面内容为注释
workers.tomcat_home="D:/tomcat-6.0.14" #tomcat的主目录
workers.java_home="C:/Program Files/Java/jdk1.6.0_03" #jdk主目录
ps=/
wk.list=ajp13
wk.ajp13.port=8080
wk.ajp13.host=localhost
wk.ajp13.type=ajp13
wk.ajp13.lbfactor=50
wk.ajp13.cachesize=10
wk.ajp13.cache_timeout=600
wk.ajp13.socket_keepalive=1
wk.ajp13.socket_timeout=300
2、在httpd.conf最后加入下面语句:
#TOMCAT整合开始
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
JkWorkersFile modules/workers.properties
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /*/servlet/* ajp13
JkMount /*.jsp* ajp13
JkMount /*.do* ajp13
JkMount /j_oa_security_check ajp13
JkMount /html/* ajp13
JkMount /skins/* ajp13
JkMount /images/* ajp13
JkMount /js/* ajp13
JkMount /organizationStructure.js ajp13
JkMount /organizationMigrate.js ajp13
JkMount /css/* ajp13
#TOMCAT整合结束
其中JkMount /*.jsp* ajp13,意思是遇见url为/*.jsp/..的任何url将转向tomcat处理
JkMount /*.do* ajp13 意思是遇见url为/*.do./.. 的任何url将转向tomcat处理
JkMount /images/* ajp13 意思是url指向的页面如果有用到images资源(文件),它会指明让tomcat去处理寻找,否则apache不会找到tomcat项目用到的资源。其他意思一样,依据自己项目配置