如何在 Ubuntu 22.04 上安装和配置 HAProxy
在此页
- 先决条件
- 将 Apache Web 服务器设置为后端服务器
- 安装 HAProxy
- 配置 HAProxy
- 测试 HAProxy
- 结论
HAProxy 也代表高可用性代理是一种免费的开源负载均衡器和代理解决方案,旨在简化和保护现代应用程序架构。它允许 Web 服务器跨多个端点分发传入请求。当太多并发连接使单个服务器的能力过度饱和时,它非常有用。由于其效率、可靠性以及低内存和 CPU 占用空间,它越来越受欢迎。
在这篇文章中,我们将解释如何在 Ubuntu 22.04 上安装 HAProxy。 div-gpt-ad-howtoforge_com-medrectangle-3-0;var ffid=1;var alS=1021%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins=document。 createElement(ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins.dataset.fullWidthResponsive=真的;}
先决条件
- 为 HAProxy 运行 Ubuntu 22.04 的服务器。
- 两台运行 Ubuntu 22.04 的服务器作为 Apache 后端服务器。
- 在所有服务器上都配置了根密码。
将 Apache Web 服务器设置为后端服务器
首先,您需要设置两台 Apache Web 服务器作为后端服务器来执行本教程。
在第一台后端服务器上,使用以下命令安装 Apache 包:
apt-get install apache2 -y
安装后,使用以下命令创建示例 Apache 索引页:
echo "<H1>Success! This is my first Apache Server</H1>" | tee /var/www/html/index.html
在第二台后端服务器上,使用以下命令安装 Apache 包:
apt-get install apache2 -y
接下来,使用以下命令创建示例 Apache 索引页面:
echo "<H1>Success! This is my second Apache Server</H1>" | tee /var/www/html/index.html
完成后,您可以继续安装 HAProxy 服务器。
安装 HAProxy
默认情况下,HAProxy 包含在 Ubuntu 22.04 默认存储库中。您可以通过运行以下命令来安装它:
apt-get install haproxy -y
安装 HAProxy 后,启动 HAProxy 服务并使其在系统重启时启动:
systemctl start haproxy
systemctl enable haproxy
完成后,您可以继续配置 HAProxy。
配置 HAProxy
此时,HAProxy 已安装并运行。现在,您需要编辑 HAProxy 默认配置文件并定义后端 Web 服务器。
nano /etc/haproxy/haproxy.cfg
添加两个后端 Apache 服务器:
frontend apache_front
# Frontend listen port - 80
bind *:80
# Set the default backend
default_backend apache_backend_servers
# Enable send X-Forwarded-For header
option forwardfor
# Define backend
backend apache_backend_servers
# Use roundrobin to balance traffic
balance roundrobin
# Define the backend servers
server backend01 172.16.0.200:80 check
server backend02 172.16.0.201:80 check
完成后保存并关闭文件。
其中:172.16.0.200是第一台Apache后端服务器的IP地址,172.16.0.201是第二台Apache后端服务器的IP地址。
接下来,重新启动 HAProxy 服务以应用更改:
systemctl restart haproxy
您现在可以使用以下命令检查 HAProxy 的状态:
systemctl status haproxy
您将获得以下输出:
? haproxy.service - HAProxy Load Balancer
Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-07-11 09:03:45 UTC; 45s ago
Docs: man:haproxy(1)
file:/usr/share/doc/haproxy/configuration.txt.gz
Main PID: 48217 (haproxy)
Tasks: 2 (limit: 2242)
Memory: 71.3M
CPU: 143ms
CGroup: /system.slice/haproxy.service
??48217 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
??48219 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
Jul 11 09:03:45 ubuntu2204 systemd[1]: Starting HAProxy Load Balancer...
Jul 11 09:03:45 ubuntu2204 haproxy[48217]: [NOTICE] (48217) : New worker #1 (48219) forked
Jul 11 09:03:45 ubuntu2204 systemd[1]: Started HAProxy Load Balancer.
测试 HAProxy
此时,HAProxy 已配置并运行。现在,是时候验证 HAProxy 是否正常运行了。
打开您的 Web 浏览器并输入 URL http://your-haproxy-ip。你会看到 HAProxy 在每次刷新后都在一个接一个地向后端服务器发送请求。


结论
在本文中,我们向您展示了如何安装和配置 HAProxy 服务器以在两个 Apache Web 服务器之间分配负载。在 Ubuntu 22.04 上。您现在可以在生产环境中实施 HAProxy 以提高 Web 应用程序的性能和可用性。