Java小强个人技术博客站点
当前位置: 首页 >> 服务器 >> Apache Module mod_proxy 的ProxyPass指令使用

Apache Module mod_proxy 的ProxyPass指令使用

55240 服务器 | 2014-8-4

Apache之mod_proxy集群,ProxyPass Directive使用注意事项。具体讲解,参看Apache官方文档:
http://httpd.apache.org/docs/current/mod/mod_proxy.html

 

我在 Apache集群乱码和最高并发控制(http://www.javacui.com/service/102.html)中说到过一个问题,就是TomcatAJP连接最大数量,如果你只是参考 Win2003下Apache与Tomcat搭建集群环境(http://www.javacui.com/service/48.html)进行了简单搭配。
默认情况下,AJP最大连接是200个,而且连接永久保持,Apache分发也是各个节点都有。这样就引起一次问题,如果你的应用场景不是24小时一直高并发,那么如何配置就会引起一些非必要的资源浪费,数据库连接不释放,连接分配耗时等情况。

 

合理的配置方式,应该是Apache和Tomcat都参照设定好的标准进行配置
首先,Tomcat最高并发要设置为合理的水平,在Apache配置中,设置smax和ttl参数,来控制后台连接控制的数量和超时的时间。
其次,不要把可以用的节点都用上,我这里有四个节点,就应该把两个作为备份节点,备份节点的控制是使用status参数来控制的。
还有就是,Apache的一些其他参数配置要根据实际情况合理配置,可以参考 Apache集群乱码和最高并发控制 说的几点。

 

例如,我的结群配置现修改为了(httpd.conf):

ProxyRequests Off
<proxy balancer://cluster>   
 BalancerMember ajp://117.135.160.18:8019 loadfactor=1 route=jvm1 smax=200 timeout=180
 BalancerMember ajp://117.135.160.18:8129 loadfactor=1 route=jvm2 smax=200 timeout=180
 BalancerMember ajp://117.135.131.19:8039 loadfactor=1 route=jvm3 status=+H smax=50 ttl=600 timeout=180
 BalancerMember ajp://117.135.131.19:8049 loadfactor=1 route=jvm4 status=+H smax=50 ttl=600 timeout=180
</proxy>

 

注意的是,我这里使用了 balancer:// 属性,如果代理的指令类型以 balancer:// 开头那么会创建一个虚拟工作单元,并不直接和后端服务器通讯。它负责对一些“真正”的工作单元进行管理。这种情况下可以给虚拟工作单元添加一系列额外参数。

这些参数可以参照Apache官方文档。

推荐您阅读更多有关于“ Tomcat apache 集群 mod_proxy ProxyPass ”的文章

上一篇:Oracle查询表的外键 下一篇:协议 232转网口中的RealCom协议

猜你喜欢

发表评论: