前言
继前面几篇文章,简单介绍了HAProxy以及本次博主使用的场景,这篇文章会为大家带来HAProxy的使用和配置。
第一步:在haproxy.exe下创建配置文件haproxy.cfg并设置配置项
- 配置:
具体的字段说明可以去官网,或者https://blog.51cto.com/u_12244079/2125384这篇文章也还行
注意:在配置文件的最后一行要放空行
global
daemon
external-check
insecure-fork-wanted
nbproc 1
nbthread 4
defaults
mode http
timeout connect 5s
timeout client 5s
timeout server 5s
option dontlognull
option redispatch
retries 3
listen status
bind *:50000
mode http
stats refresh 30s
stats uri /
stats realm Haproxy
stats auth admin:admin
stats hide-version
listen tb911
bind *:8201
mode http
option httpchk GET / No?
http-check expect status 400
balance leastconn
server tbsign911 127.0.0.1:8134 maxconn 100 check inter 1000 rise 5 fall 2 weight 10
如果有多台同类型的业务服务器就配置在同一个配置项下,如:我有10台某宝签名的服务器,我就都配置到tb911下,如果有多种业务服务器,就在开个配置项。
第二步:启动haproxy并测试可用性
- 1.进入haproxy.exe文件夹
- 2.执行haproxy.exe -f haproxy.cfg -d,出现以下表示启动成功,其他的就自行排除错误:
- 3.进入后台管理页面:http://127.0.0.1:50000这些是配置文件中的listen status配置项,可以看到我上面配置文件中对应的服务器:
- 4.创建一个post请求淘宝签名接口,测试最终结果:
可以从图中看出,我们是本地访问端口8201,而配置文件中的listen tb911配置项也是8201,再看看haproxy后台的打印信息:
一个正常的请求,OK,HAProxy的配置到此结束。 - 5.可以设置一下手机锁屏时长:adb shell settings put system screen_off_timeout 60000000,如果不是手机充当业务服务器的话,这步可以跳过去。
第三步:haproxy一些相关参数的使用
# haproxy –help haproxy -f < 配置文件> [-n 最大并发连接总数] [-N 每个侦听的最大并发数] [-d] [-D] [-q] [-V] [-c] [-p ] [-s] [-l] [-dk] [-ds] [-de] [-dp] [-db] [-m < 内存限制M>] [{-sf|-st} pidlist...]
-d 前台,debug模式
-D daemon模式启动
-q 安静模式,不输出信息
-V 详细模式
-c 对配置文件进行语法检查
-s 显示统计数据
-l 显示详细统计数据
-dk 不使用kqueue
-ds 不使用speculative epoll
-de 不使用epoll
-dp 不使用poll
-db 禁用后台模式,程序跑在前台
-sf 程序启动后向pidlist里的进程发送FINISH信号,这个参数放在命令行的最后
-st 程序启动后向pidlist里的进程发送TERMINATE信号,这个参数放在命令行的最后
总结
以上就是搭建一个简单的负载均衡集群的全过程了,如果这整个HAProxy的部署流程有帮助到您,麻烦不要吝啬你的一键三连。