haproxy负载均衡

1、配置环境

|----------------------------|--------------|-----------------------|
|   | 作用 | 环境 |
| windows | 测试 |   |
| 192.168.33.158 172.25.0.11 | haproxy负载均衡 | haproxy:2.8.1,centos7 |
| 172.25.0.31 | web服务器1--rs1 | Apache:2.4,redhat9 |
| 172.25.0.32 | web服务器2--rs2 | Apache:2.4 , redhat9 |


2、haproxy配置

bash 复制代码
global
log 127.0.0.1 local2
maxconn 4096
daemon #以后台形式运行 haproxy

defaults
log global
log 127.0.0.1 local2 #日志文件的输出定向,产生的日志级别为 local3,系统中 local1~7 由用户自己定义
mode http #工作模式,所处理的类别,默认采用 http 模式,可配置成 tcp 作 4 层消息转发
option httplog #日志类别,记载 http 日志
option httpclose #每次请求完毕后主动关闭 http 通道,haproxy 不支持 keep-alive,只能模拟这种模式的实现
option dontlognull #不记录空连接,产生的日志
option forwardfor #如果后端服务器需要获得客户端真实 ip 需要配置的参数,可以从 Http Header 中获得客户端 ip
option redispatch #当 serverid 对应的服务器挂掉后,强制定向到其它健康服务器
retries 2 #2 次连接失败就认为服务器不可用,主要通过后面的 check 检查
maxconn 2000 #最大连接数
balance roundrobin #负载均衡算法
stats uri /haproxy-stats #haproxy 监控页面的访问地址 # 可通过http://localhost:80/haproxy-stats 访问
timeout connect 5000 #连接超时时间,单位是 ms 毫秒
timeout client 50000 #客户端连接超时时间
timeout server 50000 #服务器端连接超时时间
mode http
option httpchk GET /index.html #健康检测,下载某一个页面来进行测试,因此这个页面应该是个小页面,而不要用首页面,这里是每隔一秒检查一次页面

frontend http #前端配置,http 名称可自定义
bind 0.0.0.0:80 #发起 http 请求 80 端口,会被转发到设置的 ip 及端口
default_backend http_back #转发到后端 写上后端名称

backend http_back #后端配置,名称上下关联
server s1 172.25.0.31:80 weight 3 check #后端的主机 IP 权重
server s2 172.25.0.32:80 weight 3 check #后端的主机 IP 权重

#server node1 192.168.176.31:80 check inter 2000 rise 3 fall 3 weight 3

3、测试

相关推荐
東雪蓮☆39 分钟前
从零开始掌握 Web 与 Nginx:入门详解
运维·服务器·前端·nginx
Miraitowa_cheems2 小时前
LeetCode算法日记 - Day 38: 二叉树的锯齿形层序遍历、二叉树最大宽度
java·linux·运维·算法·leetcode·链表·职场和发展
青铜发条2 小时前
【python】python进阶——网络编程
运维·服务器·网络
勇闯逆流河2 小时前
【Linux】Linux常用指令合集
linux·运维·服务器
宇钶宇夕2 小时前
西门子 S7-200 SMART PLC: 3 台电机顺启逆停控制(下篇):逆序停止与安全保障实现
运维·自动化
的小姐姐2 小时前
RMS设备检修管理系统_HawkEye智能运维平台_璞华大数据
大数据·运维
努力努力再努力wz3 小时前
【C++进阶系列】:万字详解红黑树(附模拟实现的源码)
java·linux·运维·c语言·开发语言·c++
斯普信专业组3 小时前
多输入(input)多输出(output)验证
运维·服务器·网络·fluent-bit
白鹭4 小时前
apache详细讲解(apache介绍+apache配置实验+apache实现https网站)
linux·运维·apache·apache配置·apache实现https网站
Anthony_2314 小时前
MySQL的常用命令
运维·数据库·mysql·adb·docker