文档章节

Apache 服务器配置的负载均衡

Ktz2015
 Ktz2015
发布于 2016/08/26 15:16
字数 920
阅读 14
收藏 0

个人心得,如果你有好的思路请给我留言,谢谢!

刚刚接触负载均衡,第一站实现Apache的负载均衡,当然这也是参考很多网上的资料,测试成功了,如果要用Apache做负载均衡,就必须提供一台服务器做负载服务器,地下两个服务器都不是本机服务器,实现了这种负载均衡就必须得要重写 session ,因为几台服务器无法获取通用SESSION,这种方法提供了一唯一的 session_id 可以根据这个ID来存储用户信息,如果并发量大的话,最好还是配置一个分布式的MEMCACHED,做一个一致哈希来储存 SESSION 种的用户数据,至于要怎么实现,那就根据自己的业务来,我只是提供一条思路

1、如何搭配Apache原生类的负载均衡配置
    一,查看有没有安装过mod_proxy之类的东西

        [zhangy@BlackGhost ~]$ /usr/local/apache2/bin/httpd -l

        如果没有发现mod_proxy,我们就到apache安装目录下的modules里面看看有没有mod_proxy.so文件,如果都没有,则说明没有加载负载均衡的模块

    二,安装mod_proxy,proxy_balancer_module等

        进入apache的解压目录,就是你从网上下载下来的压缩文件,然后解压产生的目录。

        cd   apache的解压目录/modules/proxy

        [root@BlackGhost proxy]# /usr/local/apache2/bin/apxs -c -i mod_proxy.c proxy_util.c

        注意:上面如果不加proxy_util.c的话,LoadModule proxy_module modules/mod_proxy.so会报错的,提示你找不到mod_proxy.so文件

        [root@BlackGhost proxy]# /usr/local/apache2/bin/apxs -c -i mod_proxy_balancer.c

        [root@BlackGhost proxy]# /usr/local/apache2/bin/apxs -c -i mod_proxy_http.c

        出现下面的东西说明装好了。

        ———————————————————————-
        Libraries have been installed in:
        /usr/local/apache2/modules

        #要安装的模块装好了
        [zhangy@BlackGhost apache2]$ ls ./modules/
        httpd.exp     mod_fastcgi.so    mod_proxy.so           mod_rewrite.so
        libphp5.so    mod_fcgid.so      mod_proxy_balancer.so
        mod_cache.so  mod_mem_cache.so  mod_proxy_http.so

    三,配置httpd.conf,测试负载均衡

        1,根据请求数(默认),平均分配

        LoadModule proxy_module modules/mod_proxy.so  
        LoadModule proxy_balancer_module modules/mod_proxy_balancer.so  
        LoadModule proxy_http_module modules/mod_proxy_http.so  
          
        ProxyRequests Off  
        <Proxy balancer://clusterphpinfo>  
        BalancerMember http://192.168.18.2:10004  
        BalancerMember http://192.168.18.2:10000  
        </Proxy>  
        ProxyPass /test2 balancer://clusterphpinfo stickysession=STICK_PORT_TOKEN nofailover=On  
        ProxyPassReverse /test2 balancer://clusterphpinfo  
          
        <Location /balancer-manager>  
        SetHandler balancer-manager  
        Order Deny,Allow  
        Allow from all  
        #Allow from 192.168.18.*  
        </Location>  
        配置说明:在httpd.conf里面添加以上配置

        1,为什么我这里要用/test2而不是/,因为在这里用/会和documentroot冲突,因为监听的都是80端口。2,stickysession 从字面上看,严格的session,加上他说明实现严格的session的负载均衡,根据个人需要吧。
        3,其实像这样的负载均衡,其实就是反向代理,http://localhost/test2起到了连接池的作用,如果你访问http: //localhost/test2/index.php,他其实访问的http://192.168.18.2:10004/index.php或者是 http://192.168.18.2:10000/index.php
        4,<Location /balancer-manager></Location>中间的内容是用监测负载均衡的情况的,可 以放到正式服务器,也可以不放。

        访问http://localhost/test2/balancer-manager看下图:

        实战利用apache来做集群,实现负载均衡 - PHP程序员 - 李国华【PHP程序员C++】博客
        apache负载均衡

        图片说明:从上图我们可以看出,负载均衡算法是根据请求数(byrequests),平均分配到二个虚拟主机。

        2,给节点加权重,根据挂起的请求数进行平衡

        LoadModule proxy_module modules/mod_proxy.so  
        LoadModule proxy_balancer_module modules/mod_proxy_balancer.so  
        LoadModule proxy_http_module modules/mod_proxy_http.so  
          
        ProxyRequests Off  
        <Proxy balancer://clusterphpinfo>  
        BalancerMember http://192.168.2.130 loadfactor=5  
        BalancerMember http://192.168.2.99 loadfactor=1  
        ProxySet lbmethod=bytraffic  
        </Proxy>  
        ProxyPass /test2 balancer://clusterphpinfo stickysession=STICK_PORT_TOKEN nofailover=On  
        ProxyPassReverse /test2 balancer://clusterphpinfo  
          
        <Location /balancer-manager>  
        SetHandler balancer-manager  
        Order Deny,Allow  
        Allow from all  
        #Allow from 192.168.18.*  
        </Location>  
    配置说明:说一下不同的

        1,平衡算法,由byrequests变成bytraffic

        2,由平均分配变成非平均分配

        3、loadfactor=5  这表示分配的概率

© 著作权归作者所有

共有 人打赏支持
Ktz2015
粉丝 0
博文 2
码字总数 1066
作品 0
闵行
私信 提问
Apache负载均衡设置方法: mod_proxy

Apache负载均衡设置方法: mod_proxy 博客分类: 网站运营 Apache网络协议算法工作 来源:网络收集 一般来说,负载均衡就是将客户端的请求分流给后端的各个真实服务器,达到负载均衡的目的。还...

叶落花开
2012/05/15
0
0
Nginx反向代理实现负载均衡配置图解

Nginx反向代理实现负载均衡配置图解 [导读] 负载均衡配置是超大型机器需要考虑的一些问题,同时也是数据安全的一种做法,下面我来介绍在nginx中反向代理 负载均衡配置图解,大家可参考本文章...

thinkyoung
2015/01/07
0
0
kylin集群Nginx负载均衡

Nginx负载均衡 1, Nginx负载均衡简介 跨多个应用程序实例的负载平衡是优化资源利用率,最大化吞吐量,减少延迟以及确保容错配置的常用技术。 可以使用nginx作为非常高效的HTTP负载均衡器,将...

rlnlo2pnefx9c
2017/12/13
0
0
windows环境 apache2.2.21+tomcat6集群和负载均衡配置(深圳网新新思)

一、集群和负载均衡的概念 (一)集群的概念   集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提供网络服务或应用程序(包括数据库、Web服务和文...

空谷幽兰
2012/04/30
2.4K
3
apache做负载均衡器 配置

将Apache作为LoadBalance前置机分别有三种不同的部署方式,分别是: 1 )轮询均衡策略的配置 进入Apache的conf目录,打开httpd.conf文件,在文件的末尾加入: ProxyPass / balancer://proxy...

朱君
2014/04/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

js数组遍历和对象遍历

数组遍历 for for(var i=0,len=arr.length;i<len;i++){console.log(arr[i]);} forEach - ES5语法,性能比for弱,不能使用break终止循环,不能使用return arr.forEach(function(item,inde......

祖达
21分钟前
0
0
Java网络编程

基本概念 网络IO会涉及到同步,异步,阻塞,非阻塞等几个概念。 一个网络IO读取过程是数据从 网卡 到 内核缓冲区 到 用户内存 的过程。同步和异步区别在于数据从内核到用户内存的过程是否需要...

春哥大魔王的博客
43分钟前
2
0
Spring "reg:zookeeper" 的前缀 "reg" 未绑定等类似问题解决方案。

今天同事遇到一个Spring启动加载配置文件时,不识别reg:zookeeper标签的问题。 我查看配置,发现是Spring配置文件的头部没有引入reg标签的命名空间,具体如下图: 所以,以后遇到类似的标签未...

花漾年华
今天
2
0
阿里云领衔云市场

近期,2018年Q4及全年的全球云基础设施服务市场数据新鲜出炉,发布方是美国市场研究机构Synergy Research Group。这个机构是专做电信网络市场情报的公司,成立于1999年,每年都会公布各大公有...

linuxCool
今天
2
0
C++友元函数和友元类(C++ friend)详解

私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行。这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书...

shzwork
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部