在 Linux 中使用 HAProxy、Nginx 和 Keepalived 设置负载平衡

在托管服务器或网站的传统方法中,服务器是通过单个 HTTP 服务器托管的。 当客户端访问服务器时,它们被允许在服务器上。 但是,当多个用户甚至更多时会发生什么? 数以千计的客户,一次访问网站进行某些查询? 如果服务器崩溃会发生什么? 单台服务器如何平衡负载? 为了回答所有这些问题,我们可以使用术语“负载平衡”。 如果您正在寻找用于管理服务器流量的可靠工具,您绝对可以在 Linux 上设置 HAProxy、Nginx 和 Keepalived 以进行负载平衡。

HAProxy、Nginx 和 Keepalived 的基础知识

Nginx 以其负载平衡和代理服务而闻名。 在负载均衡服务器中,客户端通过负载均衡器连接到服务器,而不是直接与服务器连接。 使用 Nginx、HAProxy 和 Keepalived 可以很好地在 Linux 中进行负载平衡。 当服务器崩溃时,负载平衡器将客户端连接到另一台在线服务器。

HAProxy 是适用于 HTTP 和 TCP Web 服务器的免费开源负载平衡工具。 它是用 C 编程语言编写的,并在 GNU 公共许可证下获得许可。 它非常完整且易于设置以在 Linux 中进行负载平衡。 术语 HAProxy 代表高可用性代理工具。 您可以部署 HAProxy 工具来提高服务器性能、可用​​性和负载平衡。

Keepalived 工具充当两台服务器之间的中间人,可以在其中任何一台服务器宕机时将客户端从一台服务器重定向到另一台服务器。 Keepalived 工作在虚拟路由器冗余协议中,用于负载平衡和减少服务器故障问题。 使用 HAProxy 有利于负载平衡并使服务器始终运行。

因此,无法保证 HAProxy 将始终保持活动状态。 这是用于备份您的 HAProxy 的 Keepalived。 它可以将客户端的请求分发到远程服务器并处理第 4 层、第 7 层(传输和应用层)负载平衡。 此外,HAProxy 可以处理访问控制列表、后端和前端术语。

在 Linux 中使用 HAProxy、Nginx 和 Keepalived 进行负载平衡

由于我们已经讨论了很多关于 HAproxy、Nginx 和 Linux 的 Keepalived 工具,所以让我们进入教程。 在这篇文章中,我们将看到如何在 Linux 中使用 HAProxy、Nginx 和 Keepalived 设置负载平衡。 我们将需要基本的服务器级知识和使用 Linux 的基本能力来完成这篇文章。

第 1 步:在 Linux 上安装 Nginx 以实现负载平衡

由于我们将看到使我们的服务器更强大、负载平衡和更多客户端处理的方法,因此安装 Nginx HTTP Web 服务器将是开始该过程的第一步。 安装 Nginx Web 服务器简单直接,您可以使用以下命令在您的 Linux 机器上安装 Nginx Web 服务器。

  • 在 Ubuntu/Debian Linux 上安装 Nginx Web 服务器
sudo apt update
sudo apt install nginx