HAproxy 是一個開源的輕量級包,可為基於 TCP 和 HTTP 的程序提供高可用性和負載平衡。 平衡 Web 服務器和應用程序服務器之間的負載。 HAproxy 在幾乎所有 Linux 發行版上都可用。一種廣泛使用的負載均衡器,因其效率、可靠性以及低內存和 CPU 使用率而廣受歡迎。本文介紹如何在您的 Ubuntu 系統上安裝和配置 HAproxy。

我們已經安裝了 3 台機器。 在一台服務器上安裝 HAproxy,然後在兩台服務器上安裝 Apache Web Server。然後,HAproxy 服務器充當負載平衡器,平衡 Apache Web 服務器上的負載。

筆記: 本文中的步驟和命令已經過測試 Ubuntu 20.04 LTS(Focal Fossa)。 相同的過程適用於 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 服務器設置 – 後端服務器

在本節中,您將設置兩個 Web 服務器(網絡服務器 1 什麼時候 網絡服務器 2) 作為後端服務器。

網絡服務器1 (192.168.72.158)

在您的 Web 服務器上執行以下步驟。請務必將主機名和 IP 地址替換為您的 Web 服務器的相關 IP 地址和主機名。

1.配置主機文件

存在 網絡服務器 1 編輯 /etc/主機 文檔:

$ 須藤 納米 /ETC/主持人

然後添加一個主機名條目 代理服務器 服務器是:

HAproxy 主機名 HAproxy IP 地址

在我們的場景中:

HA-代理 192.168.72.157

2. 設置 Apache Web 服務器

然後使用以下命令在終端中安裝 Apache Web 服務器:另見我們的帖子 如何在 Apache Linux 上安裝 Web 服務器。

$ 須藤 簡單的 安裝 阿帕奇 2

然後在終端中使用以下命令啟用並啟動 Apache:

$ 須藤 系統控制 效力 阿帕奇 2
$ 須藤 systemctl 啟動 apache2

為了 網絡服務器 1 在終端中使用以下命令。

$ 迴聲 “”

你好!這是 webserver1:192.168.72.158

“” | 須藤 /在哪裡/全球資訊網/html/索引.html

如果您的系統正在運行防火牆,則需要允許 Apache 流量通過防火牆。

$ 須藤 ufw允許 80/tcp

然後重新加載防火牆配置。

$ ufw重新加載

接下來,嘗試通過在 Web 瀏覽器中鍵入來訪問該站點 HTTPS:// 後跟 Web 服務器的 IP 地址或主機名。

網址: 網址:// // 主機名或 IP 地址

或者,您可以使用 curl 命令來測試您的網頁。

$ 捲曲 主機名或 IP 地址>> >>

Web 服務器上的 192.168.72.159 2)

在第二個 Web 服務器上執行以下步驟。請務必將主機名和 IP 地址替換為您的 Web 服務器的相關 IP 地址和主機名。

1.配置主機文件

存在 網絡服務器 2, 編輯 /etc/主機 文檔:

$ 須藤 納米 /ETC/主持人

然後添加一個主機名條目 代理服務器 服務器是:

HA-代理 192.168.72.157

2. 安裝 Apache Web 服務器

然後使用以下命令在終端中安裝 Apache Web 服務器:

$ 須藤 簡單的 安裝 阿帕奇 2

然後在終端中使用以下命令啟用並啟動 Apache:

$ 須藤 系統控制 效力 阿帕奇 2
$ 須藤 systemctl 啟動 apache2

在終端中使用以下命令創建一個 web-server2 索引文件:

$ 迴聲 “”

你好!這是 webserver2:192.168.72.159

“” | 須藤 /在哪裡/全球資訊網/html/索引.html

在防火牆上允許 Apache。

$ 須藤 ufw允許 80/tcp

然後重新加載防火牆配置。

$ ufw重新加載

接下來,嘗試通過在 Web 瀏覽器中鍵入來訪問該站點 HTTPS:// 後面是 IP 地址或主機名。

網址: 網址:// // 主機名或 IP 地址

或者,您可以使用 curl 命令來測試您的網頁。

$ 捲曲 主機名或 IP 地址>> >>

Apache Web 服務器現已準備就緒。

HAproxy 負載均衡器設置-前端服務器

在本節中,您將為您的應用程序配置 HAproxy 負載均衡器。 網絡服務器..此 HAproxy 服務器充當前端服務器並接受來自客戶端的傳入請求。

存在 代理服務器 服務器(192.168.72.157),要設置負載均衡器,請執行以下步驟:

1.配置主機文件

編輯 /etc/主機 在終端中使用以下命令文件。

$ 須藤 納米 /ETC/主持人

將以下主機名條目添加到兩者 阿帕奇 Web 服務器和它自己的主機名

192.168.72.157 HA 代理
192.168.72.158 網絡服務器 1
192.168.72.159 網絡服務器 2

保存並關閉 /etc/主機 文檔。

安裝 HAproxy 負載均衡器

此步驟在其中一台 Ubuntu 服務器 (192.168.72.157) 上安裝 HAproxy。為此,請在終端中使用以下命令更新 apt:

$ 須藤 apt-get 更新

然後更新包如下:

$ 須藤 apt-get 升級

然後在終端中使用以下命令安裝 HAproxy:

$ 須藤 須藤 簡單的 安裝 代理服務器

安裝 HAproxy 服務器後,您可以使用以下命令在終端中驗證它:

$ 代理服務器 -v

您應該會看到系統上安裝的 HAproxy 版本,以驗證 HAproxy 是否已成功安裝。

將 HAproxy 配置為負載均衡器

在下一節中,您將配置 HAproxy 作為負載均衡器。為此, 編輯 /etc/haproxy/haproxy.cfg 文檔:

$ 須藤 納米 強的>> >>ETC/代理服務器/haproxy.cfg強的>> >>

將以下行添加到 haproxy.cfg 文件並將 IP 地址替換為您自己的。

??這個 前端網頁前端 上面的配置行告訴 HAproxy 偵聽端口上的傳入請求。 80192.168.72.157 然後將它們傳輸到config下的後端服務器 後端 網頁後端..配置時,將 IP 地址替換為您的 Web 服務器的相關 IP 地址。

設置 HAProxy 監控

HAproxy 監控可以顯示很多信息,例如服務器狀態、數據傳輸、正常運行時間、會話速率等。 要配置 HAproxy 監控,請將以下行添加到您的配置文件中: /etc/haproxy/haproxy.cfg

聽統計
192.168.72.157:8080

模式 http
期權轉讓
選項 httpclose
統計數據 效力

統計顯示一個傳奇
統計更新 5 秒
統計數據 /統計數據
統計字段 Haproxy 統計
統計認證 kbuzdar: kbuzdar # 監控登錄用戶和密碼

統計管理員 如果 真的
default_backend 網絡後端

使用上述設置啟用 HAproxy。”統計數據“使用頁面 統計數據 命令和使用 http 使用定義的用戶名和密碼進行基本身份驗證 統計認證 指導。

配置完成後保存並關閉 haproxy.cfg 文件。

然後使用以下命令檢查終端中的配置文件:

$ 代理服務器 -C -F /ETC/代理服務器/haproxy.cfg

以下輸出表明配置正確。

然後應用配置並重新啟動 HAproxy 服務。

$ 須藤 systemctl 重啟 haproxy.service

停止並啟動 HAProxy 服務。

檢查 HAproxy 服務狀態的命令是:

$ 須藤 systemctl 狀態 haproxy.service

這個 活動(運行) 以下輸出的狀態表明 HAproxy 服務器有效且運行成功。

用於管理 HAproxy 服務器的附加命令是:

啟動 HAproxy 服務器的命令是:

$ 須藤 systemctl 啟動 haproxy.service

停止 HAproxy 服務器的命令是:

$ 須藤 systemctl stop haproxy.service

如果您暫時禁用 HAproxy 服務器,命令如下所示:

$ 須藤 systemctl 禁用 haproxy.service

要重新啟用 HAproxy 服務器,請使用以下命令:

$ 須藤 系統控制 效力 haproxy.service

測試 HAProxy

在測試 HAproxy 設置之前,請確保您已連接到 Web 服務器。 通過 IP 地址或主機名從 HAproxy 服務器 ping 兩個 Web 服務器。

$ 平坦的 主機名或 IP 地址

以下輸出顯示 HAproxy 服務器可以訪問兩個 Web 服務器。

使用 Web 瀏覽器測試 HA 代理

在 HAproxy 服務器上,打開任何 Web 瀏覽器並鍵入: HTTPS:// 後面是 HAproxy 服務器的 IP 地址(在本例中為 192.168.72.157)。

網址: 網址:// //192.168.72.157

HAproxy 服務器以循環方式交替向兩個 Web 服務器發送請求。這可以通過多次重新加載網頁來測試。

這是我第一次訪問 https://192.168.72.157 時得到的響應:

這是您在重新加載頁面時得到的響應。

您還可以使用主機名代替 HAproxy 服務器 IP 地址。

使用測試 HA 代理 curls

您還可以在 Linux 上使用 curl 命令來測試 HAproxy 設置。打開終端並輸入 捲曲 後面是 HAproxy 服務器的 IP 地址或主機名。

$ 卡爾 192.168.72.157

$ 捲曲代理服務器

多次運行 curl 命令後,兩個 Web 服務器之間的響應交替出現。

除了多次運行該命令外,還可以運行以下一行腳本來測試HAproxy服務器。

$ 真的; 執行 卡爾 192.168.72.157; 1; 完成

測試 HAProxy 監控

要訪問 HAproxy 監控頁面,請鍵入: HTTPS:// HAproxy 服務器 IP 地址/主機名後跟端口 8080/統計信息:

網址: 網址:// //192.168.72.157:8080/統計數據

網址: 網址:// //代理服務器:8080/統計數據

顯示以下驗證框。進來 用戶名 什麼時候 密碼 以前配置過配置,然後按 ..

這是一份 HAProxy 服務器統計報告。

在那裡,您可以在 Linux 系統上安裝和配置 HAproxy 負載均衡器。描述了作為負載均衡器的 HAproxy 的基本設置以及 Apache Web 服務器的配置。我還介紹了一些用於管理 HAproxy 服務器的命令。最後,我使用瀏覽器的 curl 命令測試了負載均衡器。有關更多信息,請參閱 HAproxy 的官方文檔。