Skip to main content

HAProxy 负载均衡器教程

1. 什么是 HAProxy?

HAProxy (High Availability Proxy) 是一个开源的负载均衡和代理服务器。它具有高性能、稳定性和灵活性,常用于分布式系统中,为 Web 应用、数据库等提供流量管理和高可用性支持。

特点描述
高性能支持大规模并发连接和低延迟处理。
灵活配置支持多种负载均衡算法和丰富的代理功能。
高可用性提供故障转移和健康检查功能。

2. 安装 HAProxy

2.1 安装命令

根据你的操作系统,使用以下命令安装 HAProxy:

  • Debian/Ubuntu 系列:
    sudo apt update
    sudo apt install haproxy
  • RHEL/CentOS/Fedora 系列:
    sudo yum install haproxy

2.2 检查版本

安装完成后,确认 HAProxy 的版本:

haproxy -v

3. 配置文件详解

HAProxy 的主配置文件是 /etc/haproxy/haproxy.cfg,其结构包括以下几个部分:

3.1 全局配置 (global)

设置全局参数,如日志和性能优化选项:

global
log /dev/log local0
maxconn 4096
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon

3.2 默认配置 (defaults)

定义默认参数,适用于所有的后续配置:

defaults
log global
option httplog
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms

3.3 前端配置 (frontend)

前端接收客户端请求,并转发到后端:

frontend http_front
bind *:80
default_backend http_back

3.4 后端配置 (backend)

后端处理前端转发的请求:

backend http_back
balance roundrobin
server web1 192.168.1.101:80 check
server web2 192.168.1.102:80 check

3.5 监控页面

启用 HAProxy 自带的监控页面:

listen stats
bind *:8080
stats enable
stats uri /haproxy?stats
stats auth admin:password

4. 配置防火墙

开放 HAProxy 使用的端口,如 HTTP(80)和监控页面(8080):

  • UFW(Ubuntu):
    sudo ufw allow 80
    sudo ufw allow 8080
    sudo ufw reload
  • FirewallD(RHEL/Fedora):
    sudo firewall-cmd --add-port=80/tcp --permanent
    sudo firewall-cmd --add-port=8080/tcp --permanent
    sudo firewall-cmd --reload

5. 启动和测试 HAProxy

5.1 启动服务

sudo systemctl start haproxy
sudo systemctl enable haproxy

5.2 测试服务

  1. 在浏览器中访问 HAProxy 的 IP 地址,检查负载均衡是否生效。
  2. 打开监控页面 http://<haproxy-ip>:8080/haproxy?stats 查看实时状态。

6. 小结

本文介绍了 HAProxy 的安装与基本配置,包括前后端定义和监控页面的设置。希望这篇教程能帮助你顺利部署 HAProxy 服务!🌟 别忘了收藏 在线知识库www.zxzsk.com )哦!😊