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