HAProxy负载平衡集群配置及参数说明

HAProxy负载平衡集群配置及参数说明

准备4台Linux服务器,两台做Web服务器,1台安装HAProxy,1台做客户端

client
192.168.4.100/24

proxy (双网卡)
192.168.4.5/24
192.168.2.5/24

web1
192.168.2.100/24
web2
192.168.2.200/24

web1、web2 配置web服务器apache or nginx

echo web100  > /var/www/html/index.html
echo web200  > /var/www/html/index.html

部署HAProxy服务器

   yum -y install haproxy

proxy开启路由转发功能

 [root@proxy ~]# echo 1 > /proc/sys/net/ipv4/ip_forward          // 临时变更
 [root@proxy ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf            // 永久变更

修改配置文件

[root@proxy ~]# vim /etc/haproxy/haproxy.cfg

global
log 127.0.0.1 local2       // [err warning info debug]
chroot /usr/local/haproxy
pidfile /var/run/haproxy.pid       // haproxy的pid存放路径
maxconn 4000         // 最大连接数,默认4000
user haproxy
group haproxy
daemon        // 创建1个进程进入deamon模式运行



defaults
mode http       // http/tcp/health 默认模式采用全局定义的日志
option dontlognull       // 不记录健康检查的日志信息
option httpclose       // 每次请求完毕后主动关闭http通道
option httplog      // 日志类别http日志格式
option forwardfor      // 后端服务器可以从Http Header中获得客户端ip
option redispatch      // serverid服务器挂掉后强制定向到其他健康服务器
timeout connect 10000      // 如果backend没有指定,默认为10s
timeout client 300000      // 客户端连接超时
timeout server 300000      // 服务器连接超时
maxconn  60000             // 最大连接数
retries  3       // 3次连接失败就认为服务不可用,也可以通过后面设置



listen stats

   bind 0.0.0.0:80      // 监控页面的端口号
   stats refresh 30s     // 统计页面自动刷新时间30秒
   stats uri /monitor     // 统计页面url
   stats realm HaManager      // 统计页面密码框上提示文本
   stats auth admin:admin      // 统计页面用户名和密码设置
   #stats hide-version     // 隐藏统计页面上HAProxy的版本信息


访问后台用户服务器的listen
listen myweb  0.0.0.0:80    // 运行在所有地址的80端口上

   cookie  SERVERID rewrite     // 向服务器写入cookie
   balance roundrobin      // 调度算是rr
   server  web1 192.168.2.100:80 cookie app1inst1 check inter 2000 rise 2 fall 5
   server  web2 192.168.2.200:80 cookie app1inst2 check inter 2000 rise 2 fall 5
   每2000ms检查一次服务器,2次成功是好的,5次失败表示故障
   ......

启动服务器并设置开机启动

[root@proxy ~]# systemctl start haproxy
[root@proxy ~]# systemctl enable haproxy

客户端验证

[root@client ~]# curl 192.168.4.5
web100
[root@client ~]# curl 192.168.4.5
web200
.........

配置haproxy日志:(配置本机接受通过网络发来的日志)

[root@proxy ~]# vim  /etc/rsyslog.conf     

# Provides UDP syslog reception
$ModLoad imudp                           //打开接受udp系统日志
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp                           //打开接受tcp系统日志
$InputTCPServerRun 514
......

重启日志服务

[root@proxy ~]# systemctl restart rsyslog

访问haproxy调度器,可以看到日志信息

[root@proxy ~]# tail -f /var/log/messages 

客户端访问 http://192.168.4.5:1080/monitor 测试状态监控页面

firefox http://192.168.4.4:1080/monitor

监控页面参数备注:

Queue队列数据的信息(当前队列数量,最大值,队列限制数量);

Session rate每秒会话率(当前值,最大值,限制数量);

Sessions总会话量(当前值,最大值,总量,Lbtot: total number of times a server was selected选中一台服务器所用的总时间);

Bytes(入站、出站流量);

Denied(拒绝请求、拒绝回应);

Errors(错误请求、错误连接、错误回应);

Warnings(重新尝试警告retry、重新连接redispatches);

Server(状态、最后检查的时间(多久前执行的最后一次检查)、权重、备份服务器数量、down机服务器数量、down机时长)。

附加:
HTTP协议响应的状态码
200:正常
301:重定向
404:not found
403:forbidden 禁止访问
501:Internal Error 服务期内部错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值