读书人

linux停apache tomcat 通过mod_proxy负

发布时间: 2013-10-25 14:36:53 作者: rapoo

linux下apache tomcat 通过mod_proxy负载均衡
1. LoadModule proxy_module modules/mod_proxy.so 2. LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 3. LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 4. LoadModule proxy_connect_module modules/mod_proxy_connect.so 5. LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 6. LoadModule proxy_http_module modules/mod_proxy_http.so

<VirtualHost *:80> ServerName www.i-css.cn ServerAlias i-css.cn *i-css.cn ProxyRequests Off ProxyPass / balancer://cn/ stickySession=JSESSIONID|jsessionid #ProxyPassReverse / balancer://cn/ ErrorLog "logs/cn_error.log" CustomLog "logs/cn_access.log" common</VirtualHost><proxy balancer://cn> BalancerMember ajp://192.168.1.173:8009 loadfactor=1 route=s173_cn smax=5 max=20 ttl=120 retry=300 timeout=15 BalancerMember ajp://192.168.1.183:8009 loadfactor=1 route=s183_cn smax=5 max=20 ttl=120 retry=300 timeout=15 ProxySet lbmethod=bytraffic</proxy>

?

?

这里是我的负载均衡在apache中的配置。你可以直接放在httpd.conf 里面,也可以放在相关的子配置文件中,反正我是写vhost.conf里面的。后面我们会逐条介绍其中的意义和配置的。

?

<proxy balancer://cn>    BalancerMember ajp://192.168.1.173:8009 loadfactor=1 route=s173_cn smax=5 max=20 ttl=120 retry=300 timeout=15    BalancerMember ajp://192.168.1.183:8009 loadfactor=1 route=s183_cn smax=5 max=20 ttl=120 retry=300 timeout=15    ProxySet lbmethod=bytraffic</proxy>

这里,我配置了一个负载均衡节点balancer://cn,其中包含了两个服务ajp://192.168.1.173:8009ajp://192.168.1.183:8009,这里是来源于两个独立的内网ip的服务。这里使用的AJP的转发方式,当然,使用HTTP也可以。不过在性能和稳定性方面。AJP比HTTP具有明显的优势。

?

这里的节点次序会有一个先后关系,Apache会将请求按照FIFO的方式调度顺次分配到各个节点上!如果其中有一个节点挂掉,将跳过该节点顺次寻找可用节点。下面解释一下,其中的参数:

loadfactor=1 :loadfactor表示后台服务器负载到由Apache发送请求的权值。放在BalancerMember 后面route=s173_cn : 路由的表示。这个是和tomcat的jvmRoute 相对应的smax=5 max=20 ttl=120 retry=300 timeout=15 这些都是性能指标。ProxySet lbmethod=bytraffic :设置负载均衡的策略,一共用三种。

?

负载均衡的节点设置好了,我们只要将请求转发到这个负载均衡的节点上来就ok了。 所以我们需要配置个代理:

?

ProxyPass / balancer://cn/ stickySession=JSESSIONID|jsessionid

这里我只用到了代理,没有使用反向代理。

这里在将所有的请求全部转发到负载均衡节点balancer://cn上。 这个后面的参数非常重要。

?

stickySession=JSESSIONID|jsessionid  :这里是设置stickySession 这个在我们的文章开头的时候已经说明了。这样配置你的服务器之间才能实现session共享。

sticky模式的根本在于浏览器支持cookie,如果浏览器不支持cookie,则需要修改server.xml文件中的<Context />节点,将cookie置为false,关闭cookie功能,让jsessionid显式传递!

设置的方法,在tomcat的context的目录下面设置:<context?cookie="false">?

?

到此位置,集群的配置基本上就搞定了。

?

tomcat的配置见:

http://shiguanghui.iteye.com/admin/blogs/1933923

?

?

?应用设置:

我们需要修改应用中的web.xml文件,将<distributable />节点部署到<web-app />节点中,开启分布式服务:?

?

?

?

?

?

读书人网 >UNIXLINUX

热点推荐