Apache+mod_jk+Tomcat(4)-----三者联携

从前面三篇可以看出,各个部分都能正常工作,那么他们三者之间如何连携,是本篇的内容。在做之前,先整体了解一下mod_jk的整体功能。

 

mod_jk模块的总体功能
由于tomcat的HTTP处理部分都由Java所写(5.5.12版本以后出现了native库,用以提高其I/O和SSL的性[1]),在高并发的情况下负载较高。而apache对于静态文件的处理能力比tomcat强,所以tomcat开发组开发了与apache结合使用的mod_jk模块。该协议由apache作请求代理,将HTTP协议的请求转化为AJP协议包,并传给后端的tomcat。(ajp worker)
mod_jk和apache现在普遍使用AJP1.3协议[2]。它是一个二进制格式的协议,比字符格式的HTTP协议解析速度要快。

 

除了性能的提升,还有以下几个作用:
1.mod_jk另外的一个作用可以实现apache与tomcat一对多的对应,使后端tomcat负载均衡。(lb worker)
2.mod_jk也提供apache与tomcat链接情况的监控。(status worker)

 

mod_jk模块的典型工作流程是这样的:
一个HTTP请求过来,mod_jk模块根据其URI选择合适的worker来进行处理。如果是lb_worker(负载均衡的worker),就再根据各种条件选择后台合适的ajp_worker(处理AJP协议的worker)。ajp_worker将HTTP协议的包,组装成AJP协议格式的包,然后选取一条空闲的链接,发送给后台的tomcat服务器。等到后台将数据发送过来时,接收并解析AJP协议,重新组装成HTTP协议,然后把结果发送给客户端。

 

三者连携

1.和配mod_jk的status worker一样,配置ajp worker也要涉及到两个配置文件:
1)./etc/httpd/conf.d/mod_jk.conf
追加-->JKMount /* tomcat1

2)./etc/httpd/conf/workers.properities
worker.list=tomcat1,jkstatus

# Define status worker
#
worker.tomcat1.type=ajp13
worker.tomcat1.host=localhost
worker.tomcat1.port=8009

worker.jkstatus.type=status

 

2.重启apache
systemctl restart httpd

 

3.访问URL
http://192.168.100.29/test/index.jsp

 

结论,成功通过apache(80)访问了tomcat的资材

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值