HAProxy简介
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。
GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter和 Tuenti在内的知名网站,及亚马逊网络服务系统都使用了HAProxy。
安装HAProxy (debian11为例)
curl https://haproxy.debian.net/bernat.debian.org.gpg \
| gpg --dearmor > /usr/share/keyrings/haproxy.debian.net.gpg
echo deb "[signed-by=/usr/share/keyrings/haproxy.debian.net.gpg]" \
http://haproxy.debian.net buster-backports-2.4 main \
> /etc/apt/sources.list.d/haproxy.list
apt-get update && apt-get install haproxy=2.4.\* -y && systemctl enable haproxy && cd /etc/haproxy && systemctl status haproxy
常用配置项解释
haproxy 的配置文件由两部分组成:全局设定和对代理的设定,共分为五段:global,defaults,frontend,backend,listen。
一个典型的配置内容如下:
global
maxconn 204800
daemon
hard-stop-after 30s
defaults
mode tcp
no log
timeout connect 5s
timeout client 50s
timeout server 50s
default-server init-addr none resolvers dns check inter 5000
listen status
bind :2000
mode http
stats uri /
stats enable # 启用状态统计报告
stats auth admin:admin # 设置统计页面用户名和密码设置
#stats refresh 30s # 统计页面自动刷新时间
stats admin if TRUE #如果认证通过就做管理功能,可以管理后端的服务器
stats realm “LOGIN” #登陆页面提示信息
resolvers dns
nameserver dns 223.5.5.5:53
parse-resolv-conf
listen TEST1
bind :13306
mode tcp
no log
balance source
option allbackups
server mysql1 192.168.0.102:3306
server mysql2 192.168.0.103:3306 backup
其他配置项
# 指定出口IP(适合多网卡多IP机器)
default-server init-addr none resolvers dns check inter 5000 source 192.168.0.111 # 指定出口网卡IP地址
#
暂无评论