在本教程中,我们将向您展示如何在 Ubuntu 22.04 LTS 上安装 HAProxy。 对于那些不知道的人,HAProxy 是一个开源负载均衡器代理,用于以高性能运行不同的 Web 应用程序并通过将负载分布在不同的服务器上来提高速度。 此外,如果任何服务器发生故障,HAProxy 会检测到它并将该服务器的 Web 流量重新路由到其他服务器,这样客户端就不会遇到任何中断。
本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo
‘ 到命令以获取 root 权限。 我将向您展示在 Ubuntu 22.04 (Jammy Jellyfish) 上逐步安装 HAProxy。 对于 Ubuntu 22.04 和任何其他基于 Debian 的发行版,如 Linux Mint、Elementary OS、Pop!_OS 等,您可以按照相同的说明进行操作。
先决条件
- 运行以下操作系统之一的服务器:Ubuntu 22.04、20.04 和任何其他基于 Debian 的发行版,如 Linux Mint。
- 建议您使用全新的操作系统安装来防止任何潜在问题。
- 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
- 一个
non-root sudo user
或访问root user
. 我们建议充当non-root sudo user
,但是,如果您在充当 root 时不小心,可能会损害您的系统。
在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 HAProxy
步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt
终端中的命令。
sudo apt update sudo apt upgrade sudo apt install wget apt-transport-https gnupg2 software-properties-common
步骤 2. 安装 Apache Ubuntu 22.04 上的 HTTP 服务器。
现在运行下面的命令来安装最新版本的 Apache 到您的 Ubuntu 系统:
sudo apt install apache2
安装成功后,启用 Apache (在系统启动时自动启动),启动并使用以下命令验证状态:
sudo systemctl enable apache2 sudo systemctl start apache2 sudo systemctl status apache2
您可以使用以下命令确认 Apache2 版本:
apache2 -v
步骤 3. 设置 Apache Web 服务器作为后端服务器。
现在我们设置两个 Apache Web 服务器作为后端服务器来执行教程:
- 第一个后端服务器,安装 Apache 打包并创建示例 Apache 使用以下命令索引页面:
echo "<H1>Welcome to the first Apache Server</H1>" | tee /var/www/html/index.html
- 第二个后端服务器,安装 Apache 包 创建示例 Apache 使用以下命令索引页面:
echo "<H1>Welcome to the second Apache Server</H1>" | tee /var/www/html/index.html
步骤 4. 在 Ubuntu 22.04 上安装 HAProxy。
默认情况下,HAProxy 在 Ubuntu 22.04 基础存储库中可用。 现在运行以下命令将最新稳定版本的 HAProxy 安装到您的 Ubuntu 系统:
sudo apt install haproxy
成功安装后,启用 HAProxy(系统启动时自动启动),启动,并使用以下命令验证状态:
sudo systemctl enable haproxy sudo systemctl start haproxy sudo systemctl status haproxy
确认安装并检查已安装的 HAProxy 构建版本:
haproxy -v
步骤 5. 配置 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 192.168.77.200:80 check server backend02 192.168.77.201:80 check
Save 和 close 文件,然后使用 systemctl
命令:
sudo systemctl restart haproxy
步骤 6. 配置防火墙。
现在我们设置一个简单的防火墙(UFW) Apache 允许对 HTTP 和 HTTPS 的默认 Web 端口进行公共访问:
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full' sudo ufw enable
步骤 7. 测试 HAProxy。
成功配置和安装后,现在打开您的 Web 浏览器并输入 URL https://your-haproxy-ip-address
. 您将看到 HAProxy 在每次刷新后都向后端服务器发送请求。
恭喜! 您已成功安装 HAProxy。 感谢您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系统上安装 HAProxy 高性能 TCP/HTTP 负载均衡器。 如需更多帮助或有用信息,我们建议您查看 HAProxy 官方网站.