Linux中的推送操作与负载均衡器

『1』推送操作      --需要在网上提前找到bansys的安装包

在虚拟机1中:

1、yum install -y httpd php unzip

2、vim /etc/http/conf/httpd.conf
Listen 8080               --因为与varinsh中的80端口发生冲突,所以改变apache的端口
3、/etc/init.d/httpd start
4、解压bansys并放到http发布目录
5、vim /var/www/html/config.php

 //可定义多个主机列表
 $var_group1 = array(
                        'host' => array('172.25.254.1'),    #设定推送的主机信息
                                                'port' => '80',                                 
                    );
                                                                                       
 //varnish群组定义
 //对主机列表进行绑定
 $VAR_CLUSTER = array(
                         'www.iop.com' => $var_group1,
                     );


 //varnish版本
 //2.x和3.x推送命令不一样
 $VAR_VERSION = "3";

?>


6、/etc/init.d/httpd restart


7、
vim /etc/varnish/default.vcl
acl iop{        #设置规则,设定可以推送的人和推送对象
"127.0.0.1";
"172.25.254.0"/24;
}
sub vcl_recv {
if (req.request == "BAN") {    #判断访问对象
if (!client.ip ~ iop) {
error 405 "Not allowed.";
}
ban("req.url ~ " + req.url);
error 200 "ban added";
}
if (req.http.host ~ "^(www.)?iop.com") {
set req.http.host = "www.iop.com";
set req.backend = lb;
#return (pass);
} elsif (req.http.host ~ "^bbs.iop.com") {
set req.backend = web2;
} else {error 404 "westos cache";
}
}

8、/etc/init.d/varnish reload

>client测试:
172.25.254.1:8080
进入推送页面   选http服务即可推送成功

/index.html

Linux中的推送操作与负载均衡器_第1张图片

www.iop.com/index.html

Linux中的推送操作与负载均衡器_第2张图片              --此为推送成功

Linux中的推送操作与负载均衡器_第3张图片        --推送成功后的不同结果


『2』负载均衡器

网络模型实质:
4层转发,7层代理

DR-lvs 基于4层模型:    #适用于CDN节点
常用:lvs==linux virtual server

1.在server1中利用ipvsadm执行内核层面可执行的策略

策略内容为:rs不广播自己的vip地址,其他用户对他的vip地址直接访问时拒绝并不回应。

(1)添加yum仓库内容

[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.34.250/rhel6.5/LoadBalancer
gpgcheck=0

[HighAvailability]
name=HighAvailability
baseurl=http://172.25.34.250/rhel6.5/HighAvailability
gpgcheck=0

[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.34.250/rhel6.5/ResilientStorage
gpgcheck=0

[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.34.250/rhel6.5/ScalableFileSystem
gpgcheck=0

(2)安装ipvsadm

   yum install ipvsadm -y

(3)ipvsadm -A -t 172.25.254.100:80 -s rr        #添加虚拟服务,并设置轮转调度算法
(4)ipvsadm -a -t 172.25.254.100:80 -r 172.25.34.2:80 -g

(5)ipvsadm -a -t 172.25.34.100:80 -r 172.25.34.3:80 -g
(6)/etc/init.d/ipvsadm save    #保存策略
(7)ip addr add 172.25.254.100/24 dev eth0    #添加虚拟ip


2.在server2(rs1),server3(rs2)上添加相同的策略

(1)yum install arptables_jf -y        #安装arp防火墙
(2)ip addr add 172.25.254.100/32 dev eth0    #添加虚拟ip
(3)arptables -A IN -d 172.25.254.100 -j DROP    #拒绝访问虚拟ip的请求
(4)arptables -A OUT -s 172.25.254.100 -j mangle --mangle-ip-s 172.25.254.2(server3换成3)    #不广播本机的虚拟ip,只广播真实ip,因为vs的虚拟ip和server的虚拟ip是一样的,所以只能让vs响应arp应答
5、/etc/init.d/arptables_jf save
Linux中的推送操作与负载均衡器_第4张图片
测试后访问结果:

Linux中的推送操作与负载均衡器_第5张图片

Linux中的推送操作与负载均衡器_第6张图片        --物理地址相同,可见是通过调度机(server1)访问的目的地址


『3』自动化DR:对后端健康检查
#server1---vs:
1、yum install perl ldirectord-3.9.5-3.1.x86_64.rpm -y
2、cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/
3、vim /etc/ha.d/ldirectord.cf    #自动创建Lvs策略

virtual=172.25.254.100:80
        real=172.25.254.2:80 gate
        real=172.25.254.3:80 gate
        fallback=127.0.0.1:80 gate
        service=http
        scheduler=rr
        #persistent=600
        #netmask=255.255.255.255
        protocol=tcp
        checktype=negotiate
        checkport=80
        request="index.html"
        #receive="Test Page"
        #virtualhost=www.x.y.z
4、/etc/init.d/ipvsadm stop
5、/etc/init.d/ldirectord start
6、vim /etc/http/conf/httpd.conf
Listen 8080
7、rm -rf /var/www/html/*
8、创建新的html文件
9、/etc/init.d/httpd restart

#测试:关闭server2,server3 http 服务
#client测试:
curl 172.25.254.100    #或者添加解析后curl www.iop.com
Linux中的推送操作与负载均衡器_第7张图片           ----已进行轮循

Linux中的推送操作与负载均衡器_第8张图片            ----关闭server2httpd后(server3同理)

你可能感兴趣的:(Linux中的推送操作与负载均衡器)