怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy

HAproxy 是一个开源的轻量级软件包,可为基于 TCP 和 HTTP 的程序提供高可用性和负载平衡。 它在 Web 和应用程序服务器之间分配负载。 HAproxy 几乎适用于所有 Linux 发行版。 它是一种广泛使用的负载平衡器,因其效率、可靠性以及低内存和 CPU 占用空间而广受欢迎。 在这篇文章中,我们将解释怎样在 Ubuntu 系统上安装和配置 HAproxy。

我们已经设置了三台机器。 我们将在一台服务器上安装 HAproxy 并且 Apache 两台服务器上的网络服务器。 然后我们的 HAproxy 服务器将充当负载平衡器,并将负载分配给 Apache 网络服务器。

笔记: 这篇文章中提到的程序和命令已经过测试 Ubuntu 20.04 LTS(焦点窝)。 相同的过程也适用于 Debian 和 Mint 发行版。

网络详情

我们将使用三台 Ubuntu 服务器; 都在同一个网络上。 我们服务器的详细信息如下:

主机名:HAproxy,IP 地址:192.168.72.157 (前端服务器)

主机名:web-server1,IP 地址:192.168.72.158 (后端服务器)

主机名:web-server2,IP 地址:192.168.72.159 (后端服务器)

笔记: 你必须有 sudo 所有服务器上的权限。

我们将一台机器配置为负载均衡器,另外两台配置为 Web 服务器。 HAproxy 服务器将是我们的前端服务器,它将接收来自用户的请求并将它们转发到两个 Web 服务器。 Web 服务器将是我们的后端服务器,它将接收那些转发的请求。

这是我们的设置的样子:

设置网络服务器-后端服务器

在本节中,我们将设置两个 Web 服务器(网络服务器1网络服务器2) 作为我们的后端服务器。

在 web-server1(192.168.72.158) 上

在您的 Web 服务器中执行以下步骤。 确保将主机名和 IP 地址替换为 Web 服务器的相关 IP 地址和主机名。

1.配置hosts文件

网络服务器1, 编辑 /etc/hosts 文件:

$ sudo 纳米 /等等/主机

然后添加主机名条目 代理 服务器如下:

HAproxy 的主机名 HAproxy 的 IP 地址

在我们的场景中,它将是:

HAproxy 192.168.72.157

2. 设置 Apache 网络服务器

现在安装 Apache 在终端中使用以下命令的 Web 服务器。 您也可以访问我们的帖子 怎样安装 Apache Linux 上的网络服务器。

$ sudo 易于 安装 阿帕奇2

然后启用并启动 Apache 在终端中使用以下命令提供服务:

$ sudo 系统控制 使能够 阿帕奇2
$ sudo systemctl 启动 apache2

创建一个索引文件 网络服务器1 在终端中使用以下命令:

$ 回声

你好!这里是 webserver1:192.168.72.158

| sudo 球座 /在哪里/万维网/html/索引.html

如果您的系统上正在运行防火墙,则您需要允许 Apache 通过它的交通:

$ sudo ufw 允许 80/通讯协议

然后重新加载防火墙配置:

$ UFW 重新加载

现在尝试通过键入在您的网络浏览器中访问该站点 https:// 后跟 Web 服务器的 IP 地址或主机名。

网址:// 主机名或 IP 地址

或者,您也可以使用 curl 命令来测试网页。

$ curl <主机名或 IP 地址>

在 web server-2 192.168.72.159)

在您的第二个 Web 服务器中执行以下步骤。 确保将主机名和 IP 地址替换为 Web 服务器的相关 IP 地址和主机名。

1.配置hosts文件

网络服务器2,编辑 /etc/hosts 文件:

$ sudo 纳米 /等等/主机

然后添加主机名条目 代理 服务器如下:

HAproxy 192.168.72.157

2.安装 Apache 网络服务器

现在安装 Apache 在终端中使用以下命令的 Web 服务器。

$ sudo 易于 安装 阿帕奇2

然后启用并启动 Apache 在终端中使用以下命令提供服务:

$ sudo 系统控制 使能够 阿帕奇2
$ sudo systemctl 启动 apache2

在终端中使用以下命令为 web-server2 创建索引文件:

$ 回声

你好!这里是 webserver2:192.168.72.159

| sudo 球座 /在哪里/万维网/html/索引.html

允许 Apache 在防火墙中:

$ sudo ufw 允许 80/通讯协议

然后重新加载防火墙配置:

$ UFW 重新加载

现在尝试通过键入在您的网络浏览器中访问该站点 https:// 后跟 IP 地址或主机名。

网址:// 主机名或 IP 地址

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 1

或者,您可以使用 curl 命令来测试网页。

$ curl <主机名或 IP 地址>

现在我们的 Apache 网络服务器已准备就绪。

设置 HAproxy 负载均衡器 – 前端服务器

在本节中,我们将为我们的项目设置一个 HAproxy 负载均衡器 网络服务器. 此 HAproxy 服务器将充当前端服务器并接受来自客户端的传入请求。

代理 服务器 (192.168.72.157),执行以下步骤来设置负载均衡器。

1.配置hosts文件

编辑 /etc/hosts 在终端中使用以下命令创建文件:

$ sudo 纳米 /等等/主机

为两者添加以下主机名条目 Apache Web 服务器及其自己的主机名

192.168.72.157 HAproxy
192.168.72.158 网络服务器1
192.168.72.159 web-server2

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 2

现在保存并 close 这 /etc/hosts 文件。

安装 HAproxy 负载均衡器

现在在这一步中,我们将在我们的一台 Ubuntu 服务器 (192.168.72.157) 上安装 HAproxy。 为此,请在终端中使用以下命令更新 apt:

$ sudo apt-get 更新

然后使用以下命令更新包:

$ sudo apt-get 升级

现在在终端中使用以下命令安装 HAproxy:

$ sudo sudo 易于 安装 代理

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 3

HAproxy 服务器安装完成后,您可以在终端中使用以下命令进行确认:

$ 代理 -v

它将显示您系统上已安装的 HAproxy 版本,以验证 HAproxy 已成功安装。

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 4

将 HAproxy 配置为负载均衡器

在下一节中,我们将 HAproxy 配置为负载均衡器。 为此, 编辑 /etc/haproxy/haproxy.cfg 文件:

$ sudo 纳米 <强的>>/等等/代理/haproxy.cfg强的>

在 haproxy.cfg 文件中追加以下几行,将 IP 地址替换为您自己的 IP 地址。

?这 前端网络前端 在上面的配置行中告诉 HAproxy 侦听端口上的传入请求 80192.168.72.157 然后将它们转发到配置下的后端服务器 后端 网络后端. 配置时,将 IP 地址替换为 Web 服务器的相关 IP 地址。

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 5

配置 HAproxy 监控

使用 HAproxy 监控,您可以查看很多信息,包括服务器状态、传输的数据、正常运行时间、会话速率等。要配置 HAproxy 监控,请在位于以下位置的配置文件中附加以下几行 /etc/haproxy/haproxy.cfg

听统计
绑定 192.168.72.157:8080

模式http
选项转发
选项 httpclose
统计数据 使能够

统计显示传奇
统计刷新5s
统计 uri /统计数据
统计领域 Haproxy 统计
stats auth kbuzdar:kbuzdar #登录用户名和密码进行监控

统计数据 admin 如果 真的
default_backend 网络后端

以上配置启用了HAproxy“统计数据”页面使用 统计数据 指令并保护它 http 使用定义的用户名和密码进行基本身份验证 统计授权 指示。

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 6

完成配置后,保存并 close 这 haproxy.cfg 文件。

现在在终端中使用以下命令验证配置文件:

$ 代理 -C -F /等等/代理/haproxy.cfg

以下输出表明配置正确。

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 7

现在要应用配置,请重新启动 HAproxy 服务:

$ sudo systemctl restart haproxy.service

它将停止然后启动 HAproxy 服务。

要检查 HAproxy 服务的状态,命令将是:

$ sudo systemctl status haproxy.service

活动(运行) 以下输出中的状态显示 HAproxy 服务器已启用且运行良好。

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 8

以下是一些用于管理 HAproxy 服务器的其他命令:

为了启动 HAproxy 服务器,命令将是:

$ sudo systemctl 启动 haproxy.service

为了停止 HAproxy 服务器,命令将是:

$ sudo systemctl 停止 haproxy.service

如果您想暂时禁用 HAproxy 服务器,命令将是:

$ sudo systemctl 禁用 haproxy.service

要重新启用 HAproxy 服务器,命令将是:

$ sudo 系统控制 使能够 haproxy.service

测试HAproxy

在测试 HAproxy 设置之前,请确保您已连接到 Web 服务器。 从您的 HAproxy 服务器,通过 IP 地址或主机名 ping 两个 Web 服务器。

$ 主机名或 IP 地址

以下输出显示 HAproxy 服务器可以访问两个 Web 服务器。

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 9

使用 Web 浏览器测试 HA 代理

现在在您的 HAproxy 服务器中,打开任何 Web 浏览器并键入 https:// 后面是 HAproxy 服务器 IP 地址,在我们的例子中是 192.168.72.157。

网址://192.168.72.157

HAproxy 服务器将交替地以循环方法将请求发送到两个 Web 服务器。 您可以通过重新加载网页几次来测试这一点。

这是我们访问时收到的回复 https://192.168.72.157 首次: 怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 10

这是我们重新加载网页时收到的响应: 怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 11

您还可以使用主机名代替 HAproxy 服务器 IP 地址。

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 12

使用测试 HA 代理 curl

您还可以使用 curl Linux 中的命令来测试 HAproxy 设置。 打开终端并输入 curl 后跟 HAproxy 服务器的 IP 地址或主机名。

$ curl 192.168.72.157

或者

$ curl 代理

跑过 curl 命令几次,您将看到响应在两个 Web 服务器之间交替。

除了多次运行命令之外,您还可以运行以下单行脚本来测试 HAproxy 服务器:

$ 尽管 真的; curl 192.168.72.157; 睡觉 1; 完毕

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 13

测试 HAproxy 监控

要访问 HAproxy 监控页面,请键入 https:// 后跟 HAproxy 服务器的 IP 地址/主机名和端口 8080/stats:

网址://192.168.72.157:8080/统计数据

或者

网址://代理:8080/统计数据

将出现以下身份验证框。 Enter 用户名密码 您之前已在配置中进行了配置,然后按 .

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 14

这是我们 HAproxy 服务器的统计报告。

怎样在 Ubuntu 20.04 LTS 上安装和配置 HAproxy 15

至此,您就可以在 Linux 系统上安装和配置 HAproxy 负载均衡器了。 我们刚刚讨论了 HAproxy 作为负载均衡器的基本设置和配置 Apache 网络服务器。 我们还查看了一些用于管理 HAproxy 服务器的命令。 最后,我们通过浏览器和浏览器测试了负载均衡 curl 命令。 有关更多信息,请访问 HAproxy 官方文件