最近头说要用apache跳转resin和tomcat两个服务器,很有挑战.于是开始研究.在之前的apache与resin的整合已经成功了,现在的主要任务是在resin继续被apache跳转的情况下整合apache和tomcat
一.进入正题:提前要说明几点请大家注意:
1.我用mod_jk来整合apache和tomcat,据说这样的整合比apache自己的mod_proxy要稳定.
2.mod_jk有1版和2版之分.2基本不更新了,算是废弃了,1版更新比较快,比较实用
3.选择mod_jk1版的时候一定要看好你的apache版本,这里有个网站可以下到支持不同apache版本的mod_jk.so和mod_jk.dll版本
网址是:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/
4.mod_jk有.so,.dll我原来的启蒙工程师说.so是linux用的,.dll是windows用的,可是我死命的用.dll的还是配不出来,后来尝试了.so的居然成功了,看来还是要怀着辨证的眼光去看待前辈的经验!!!
5.最后说一句我举得例子中:
apache版本:2.0.54
tomcat版本:6.0.18
mod_jk版本:mod_jk-1.2.28-httpd-2.0.52.so
二.进入正题
其实配置出来就明白多了.
1.在apache的conf下面创建一个workers.properties文件
用记事本打开编辑:
ps=/
worker.list=ajp13 #实例化的tomcat代称(可配置多个","隔开,大家可以自己去研究下集群)
worker.ajp13.port=8009 #tomcat监听端口,默认的,小心与其他程序端口冲突
worker.ajp13.host=localhost #tomcat所在主机IP
worker.ajp13.type=ajp13 #通信协议类型(目前是比较主流的)
worker.ajp13.lbfactor=1 #调配权值(个人觉得集群的时候比较有用)
OK链接文件配置完成了
2.将mod_jk-1.2.28-httpd-2.0.52.so重命名为mod_jk.so并存放在apache目录下的文件夹modules中
3.修改apache的httpd.conf配置文件
添加如下信息:
#导入之前写好的链接文件
LoadModule jk_module modules/mod_jk.so #用法大家应该不陌生
JkWorkersFile "这里写你的apache的主目录/conf/workers.properties" #指定将要读取的链接文件
#打开apache的虚拟主机监听我这里用80端口
NameVirtualHost *:80
#建立虚拟主机
ServerAdmin www.yourweb.com
ServerName www.yourweb.com
DirectoryIndex index.jsp index.php index.html index.htm #添加jsp的解析
JkMount /*.jsp ajp13 #将后缀为.jsp的全部交由ajp13这个实例化的tomcat去处理
JkMount /* ajp13 #将所有请求交由ajp13这个实例化的tomcat去处理
#大家可以根据自己的喜好去弄
OKapache的配置也结束了,tomcat如果不需要修改侦听端口的话就不需要去修改了
到此我的apache2.0.54和tomcat6.0.18就通过mod_jk-1.2.28-httpd-2.0.52.so整合好了
在IE中输入http://localhost和http://localhost:8080如果是一样的就代表成功了!(8080是tomcat默认的访问端口)
好了,这是我参阅网上资料,自己尝试配置之后的一些心得,可能会有不妥的地方,欢迎大家指教!有不明白的朋友可以留言给我大家一起讨论!