HAproxy 是一個開源輕量級包,為基於 TCP 和 HTTP 的程序提供高可用性和負載平衡。這會在 Web 服務器和應用程序服務器之間分配負載。 HAproxy 在幾乎所有 Linux 發行版上都可用。這是一種流行的負載均衡器,因為它的效率、可靠性以及低內存和 CPU 使用率。本文介紹如何在您的 Ubuntu 系統上安裝和配置 HAproxy。
我已經設置了3台機器。 在一台服務器上安裝 HAproxy,在兩台服務器上安裝 Web 服務器 Apache。然後,HAproxy 服務器充當負載平衡器,將負載分配給 Apache Web 服務器。
筆記: 本文中給出的步驟和命令已經過測試 Ubuntu 20.04 LTS(Focal Fossa)。 同樣的過程也適用於 Debian 和 Mint 發行版。
網絡詳情
我使用 3 台 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) 作為後端服務器。
在 web-server1 (192.168.72.158) 上
在您的網絡服務器上:將主機名和 IP 地址替換為您的 Web 服務器的相關 IP 地址和主機名。
1.配置hosts文件
存在 網絡服務器 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重新加載
然後嘗試通過在您的網絡瀏覽器中輸入來訪問該站點 https:// 後跟 Web 服務器的 IP 地址或主機名。
網址:/// 主機名或 IP 地址
或者,您可以使用 curl 命令來測試您的網頁。
$ 捲曲 主機名或 IP 地址>
在網絡服務器 2 192.168.72.159 上)
在第二個 Web 服務器上執行以下步驟。將主機名和 IP 地址替換為您的 Web 服務器的相關 IP 地址和主機名。
1.配置hosts文件
存在 網絡服務器 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重新加載
然後嘗試通過在您的網絡瀏覽器中輸入來訪問該站點 https:// 後跟 IP 地址或主機名。
網址:/// 主機名或 IP 地址
或者,您可以使用 curl 命令來測試您的網頁。
$ 捲曲 主機名或 IP 地址>
您的 Apache Web 服務器現已準備就緒。
HAproxy 負載平衡器設置 – 前端服務器
在本節中,我們將為我們的應用程序設置一個 HAproxy 負載均衡器。 網絡服務器此 HAproxy 服務器充當前端服務器並接受來自客戶端的傳入請求。
存在 代理服務器 服務器(192.168.72.157),請執行以下步驟來設置負載均衡器:
1.配置hosts文件
編輯 /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 偵聽端口上的傳入請求。 80 的 192.168.72.157 並將它們傳輸到配置下的後端服務器 後端 網頁後端在配置期間,將 IP 地址替換為您的 Web 服務器的相關 IP 地址。
配置 HAProxy 監控
HAproxy 監控允許您查看服務器狀態、數據傳輸、正常運行時間、會話速率等等。 要配置 HAproxy 監控,請將以下行添加到您的配置文件中: /etc/haproxy/haproxy.cfg:
聽統計
揉 192.168.72.157:8080
模式http
期權轉讓
可選的httpclose
統計數據 效力
統計顯示圖例
統計更新 5 秒
統計數據 /統計數據
統計字段 Haproxy 統計
統計認證 kbuzdar:kbuzdar #monitored登錄用戶和密碼
統計經理 如果 真實的
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 服務器。 從 HAproxy 服務器,通過 IP 地址或主機名 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 代理 Curl
您還可以在 Linux 上使用 curl 命令測試您的 HAproxy 設置。打開終端並輸入 捲曲 後跟 HAproxy 服務器的 IP 地址或主機名。
$ 卡爾 192.168.72.157
還
$ 捲曲代理服務器
運行 curl 命令幾次後,您可以看到兩個 Web 服務器之間的響應交替出現。
除了多次運行該命令外,您還可以運行以下一行腳本來測試您的 HAproxy 服務器。
$ 但 真品; 執行 捲曲 192.168.72.157; 困 1; 完成
測試 HAProxy 監控
要訪問 HAproxy 監控頁面,請輸入: https:// 後面是 HAproxy 服務器 IP 地址/主機名和端口 8080/stats。
網址:///192.168.72.157:8080/統計數據
還
網址:///代理服務器:8080/統計數據
將出現以下身份驗證框。進來 用戶名 什麼時候 密碼 先前在配置中配置並按 線.
這是 HAProxy 服務器統計報告。
在那裡,您可以在 Linux 系統上安裝和配置 HAproxy 負載平衡器。我們介紹了作為負載均衡器的 HAproxy 的基本設置以及 Apache Web 服務器的配置。我們還查看了一些用於管理 HAproxy 服務器的命令。最後,我使用瀏覽器 curl 命令測試了負載均衡器。有關詳細信息,請參閱官方 HAproxy 文檔。