Ubuntu HAProxy安装与配置(从零开始搭建高性能负载均衡器)

来源:这里教程网 时间:2026-03-28 20:10:50 作者:

在现代 Web 架构中,负载均衡 是提升网站性能、可用性和可扩展性的关键组件。HAProxy(High Availability Proxy)是一款开源、高性能的 TCP/HTTP 负载均衡器和代理软件,广泛用于高流量网站。本教程将手把手教你如何在 Ubuntu 系统上安装并配置 HAProxy,即使是 Linux 新手也能轻松上手。

一、准备工作

在开始之前,请确保你有一台运行 Ubuntu(推荐 20.04 或 22.04 LTS 版本)的服务器,并具备 sudo 权限。此外,建议你至少有两台后端 Web 服务器(可以是 Apache、Nginx 或其他应用服务),用于测试负载均衡效果。

二、安装 HAProxy

Ubuntu 官方仓库已包含 HAProxy,因此我们可以直接使用

apt
包管理器进行安装。

# 更新系统软件包列表sudo apt update# 安装 HAProxysudo apt install haproxy -y

安装完成后,HAProxy 默认不会自动启动。我们先启用它:

# 启用 HAProxy 开机自启sudo systemctl enable haproxy# 启动 HAProxy 服务sudo systemctl start haproxy

三、配置 HAProxy 实现负载均衡

HAProxy 的主配置文件位于

/etc/haproxy/haproxy.cfg
。我们将编辑此文件来定义前端(客户端访问入口)和后端(真实服务器)。

首先,备份原始配置文件:

sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak

然后使用你喜欢的编辑器(如

nano
)打开配置文件:

sudo nano /etc/haproxy/haproxy.cfg

在文件末尾添加以下内容(假设你的两台后端 Web 服务器 IP 分别是

192.168.1.10
192.168.1.11
,监听 80 端口):

frontend http_front bind *:80 stats uri /haproxy?stats default_backend http_backbackend http_back balance roundrobin server web1 192.168.1.10:80 check server web2 192.168.1.11:80 check

配置说明:

frontend http_front:定义前端监听所有 IP 的 80 端口。 stats uri:开启 HAProxy 内置状态页面,访问
http://你的服务器IP/haproxy?stats
可查看负载均衡状态。 backend http_back:定义后端服务器组。 balance roundrobin:使用轮询算法分发请求(这是最常用的负载均衡策略)。 server web1/web2:指定后端服务器地址,
check
表示启用健康检查。

四、验证配置并重启服务

在重启 HAProxy 前,建议先检查配置文件语法是否正确:

sudo haproxy -c -f /etc/haproxy/haproxy.cfg

如果看到

Configuration file is valid
,说明配置无误。接着重启 HAProxy 使配置生效:

sudo systemctl restart haproxy

五、测试负载均衡效果

现在,你可以通过浏览器或

curl
访问 HAProxy 服务器的公网 IP。多次刷新页面,观察响应内容是否来自不同的后端服务器(例如,可以在每台 Web 服务器首页写上不同标识)。

同时,访问

http://你的IP/haproxy?stats
可以看到实时的连接数、会话数、服务器状态等信息,这是排查问题的好帮手。

六、常见问题与安全建议

确保防火墙(如
ufw
)允许 80 端口入站:
sudo ufw allow 80/tcp 生产环境中,建议为状态页面设置用户名和密码,避免信息泄露。 定期监控 HAProxy 日志(默认位于
/var/log/haproxy.log
)。

结语

通过本教程,你已经成功在 Ubuntu 上完成了 HAProxy 安装 与基础 负载均衡配置。HAProxy 功能远不止于此,它还支持 SSL 终止、会话保持、ACL 规则等高级特性。希望这篇 HAProxy 新手教程 能为你打下坚实基础,助你在构建高可用 Web 架构的道路上更进一步!

如果你正在寻找一种简单高效的方式来实现 Ubuntu 反向代理设置,HAProxy 无疑是最佳选择之一。

相关推荐

热文推荐