HAproxy七层负载均衡——环境搭建及实现过程详解

实验环境

主机名IP服务
虚拟机server1172.25.6.1haproxy,httpd,服务端
虚拟机server2172.25.6.2httpd,php,客户端
虚拟机server3172.25.6.3httpd,php,客户端
物理机172.25.6.250测试端

一、HApronxy实现负载均衡的配置过程

1.从官网获得一个HAproxy的安装包,解压安装包
在这里插入图片描述
2.将源码包打包成一个rpm包

(1)查找.spec文件 (有这个文件才能把一个源码包打成rpm包)

find . -name *.spec

在这里插入图片描述

(2)安装编译工具rpm-build gcc pcre-devel

yum install -y rpm-build gcc pcre-devel 

(3)编译安装包

rpmbuild -tb haproxy-1.7.3.tar.gz 

在这里插入图片描述
编译完成之后会出现一个rpmbuild目录,rpm安装包在这个目录中

在这里插入图片描述
在这里插入图片描述

3.安装rpm包

rpm -ivh haproxy-1.7.3-1.x86_64.rpm 

在这里插入图片描述

4.编辑haproxy的配置文件

(1)haproxy的配置文件在源码包中

在这里插入图片描述

content-sw-sample.cfg 是haproxy的默认配置文件

(2)将这个文件复制到/etc/haproxy目录下

在这里插入图片描述

(3)编辑配置文件

vim haproxy.cfg 
global
        maxconn         10000   ##最大连接数
        stats socket    /var/run/haproxy.stat mode 600 level admin
        log             127.0.0.1 local0
        uid             200     ##haproxy用户的uid
        gid             200     ##haproxy用户的gid
        chroot          /var/empty
        daemon


defaults

        mode            http    ##默认使用http的7层模式  tcp:4层
        log             global
        option          httplog
        option          dontlognull
        monitor-uri     /monitoruri
        maxconn         8000
        timeout client  30s
        option prefer-last-server
        retries         2
        option redispatch
        timeout connect 5s
        timeout server  5s
        stats uri       /admin/stats


# The public 'www' address in the DMZ
frontend public
        bind            *:80 name clear         ##监听所有端口
        #bind            192.168.1.10:443 ssl crt /etc/haproxy/haproxy.pem
        #use_backend     static if { hdr_beg(host) -i img }
        #use_backend     static if { path_beg /img /css   }
        default_backend dynamic         ##默认使用dynamic后端服务器集群


# the application servers go here
backend dynamic
        balance         roundrobin      ##负载均衡算法rr(轮循)
        server          web1 172.25.6.2:80 check inter 1000     ##后端服务器server2
        server          web2 172.25.6.3:80 check inter 1000     ##后端服务器server3

5.server2和server3安装httpd,编辑测试页,开启服务

(1)server2

yum install -y httpd
vim /var/www/html/index.html
/etc/init.d/httpd start

在这里插入图片描述

(2)server3

yum install -y httpd
vim /var/www/html/index.html
/etc/init.d/httpd start

在这里插入图片描述

6.server1开启haproxy服务

/etc/init.d/haproxy start

在这里插入图片描述

7.物理机测试:访问server1出现轮循调度

在这里插入图片描述

8.物理机上浏览器访问http://172.25.6.1/admin/stats出现监控页面,f5可以刷新,f12可以进入控制台

在这里插入图片描述
【F12】

在这里插入图片描述

(1)关闭server2的httpd服务,f5刷新,可以看到监控发生变化

在这里插入图片描述
【web1显示DOWN】
在这里插入图片描述

(2)再次打开server2的httpd服务,刷新后监控恢复正常

在这里插入图片描述
【web1显示ON】
在这里插入图片描述

9.物理机上浏览器访问http://172.25.6.1/monitoruri出现200 OK 说明haproxy服务正常

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值