Wir haben drei Maschinen eingerichtet. Wir werden HAPROXY auf einem Server und den Apache -Webservern auf zwei Servern installieren. Unser Haproxy -Server fungiert dann als Lastbalancer und verteilt die Last unter Apache -Webservern.
Notiz: Die in diesem Beitrag genannten Prozedur und Befehle wurden getestet Ubuntu 20.04 LTS (fokale Fossa). Das gleiche Verfahren gilt auch für Debian- und Minzverteilungen.
Netzwerkdetails
Wir werden drei Ubuntu -Server verwenden; Alles im selben Netzwerk. Die Details unserer Server sind wie folgt:
Hostname: Haproxy, IP -Adresse: 192.168.72.157 (Frontend Server)
Hostname: Webserver1, IP-Adresse: 192.168.72.158 (Backend -Server)
Hostname: Webserver2, IP-Adresse: 192.168.72.159 (Backend -Server)
Notiz: Sie müssen Sudo -Privilegien auf allen Servern haben.
Wir konfigurieren einen Maschine als Lastausgleicher und die beiden anderen als Webserver. Der Haproxy-Server ist unser Front-End-Server, der die Anfragen von den Benutzern empfängt und an die beiden Webserver weitergeleitet wird. Die Webserver werden unsere Backend -Server sein, die diese weitergeleiteten Anfragen erhalten.
So sieht unser Setup aus:
Einrichten von Webserver-Backend-Servern
In diesem Abschnitt werden wir zwei Webserver einrichten (Webserver1 Und Webserver2) als unsere Backend -Server.
Auf webserver1 (192.168.72.158)
Führen Sie die folgenden Schritte in Ihrem Webserver aus. Stellen Sie sicher.
An Webserver1, bearbeiten die /etc/hosts Datei:
$ sudo nano /etc /hosts
Fügen Sie dann den Hostname -Eintrag für hinzu für Haproxy Server wie folgt:
Hostname von Haproxy IP-Address-of-Haproxy
In unserem Szenario wäre es:
Haproxy 192.168.72.157
APache -Webserver einrichten
Installieren Sie nun den Apache -Webserver über den folgenden Befehl in Terminal. Sie können auch unseren Beitrag über besuchen So installieren Sie den Apache -Webserver unter Linux.
$ sudo apt installieren apache2
Aktivieren und starten Sie den Apache -Dienst mit den folgenden Befehlen in Terminal:
$ sudo systemctl aktivieren apache2
$ sudo systemctl starten apache2
Erstellen Sie eine Indexdatei für Webserver1 Verwenden Sie den folgenden Befehl in Terminal:
$ echo "Hallo! Dies ist Webserver1: 192.168.72.158
"| sudo tee/var/www/html/Index.html
Wenn eine Firewall auf Ihrem System ausgeführt wird, müssen Sie Apache -Verkehr durch ihn zulassen:
$ sudo ufw erlauben 80/tcp
Laden Sie dann die Firewall -Konfigurationen neu:
$ UFW Reload
Versuchen Sie nun, auf die Website in Ihrem Webbrowser zuzugreifen, indem Sie eingeben http: // gefolgt von der IP -Adresse oder dem Hostnamen Ihres Webservers.
http: // hostname-or-ip-address
Alternativ können Sie auch den Befehl curl verwenden, um die Webseite zu testen.
$ curl
Auf Web Server-2 192.168.72.159)
Führen Sie die folgenden Schritte in Ihrem zweiten Webserver aus. Stellen Sie sicher.
In Webserver2, bearbeiten die /etc/hosts Datei:
$ sudo nano /etc /hosts
Fügen Sie dann den Hostname -Eintrag für hinzu für Haproxy Server wie folgt:
Haproxy 192.168.72.157
Installieren Sie nun den Apache -Webserver über den folgenden Befehl in Terminal.
$ sudo apt installieren apache2
Aktivieren und starten Sie den Apache -Dienst mit den folgenden Befehlen in Terminal:
$ sudo systemctl aktivieren apache2
$ sudo systemctl starten apache2
Erstellen Sie eine Indexdatei für Webserver2 mit dem folgenden Befehl in Terminal:
$ echo "Hallo! Dies ist Webserver2: 192.168.72.159
"| sudo tee/var/www/html/Index.html
Apache in der Firewall zulassen:
$ sudo ufw erlauben 80/tcp
und dann Firewall -Konfigurationen neu laden:
$ UFW Reload
Versuchen Sie nun, auf die Website in Ihrem Webbrowser zuzugreifen, indem Sie eingeben http: // gefolgt von der IP -Adresse oder dem Hostnamen.
http: // hostname-or-ip-address
Alternativ können Sie den Befehl curl verwenden, um die Webseite zu testen.
$ curl
Jetzt sind unsere Apache -Webserver bereit.
Einrichten des Haproxy Load Balancer-Frontend Servers
In diesem Abschnitt werden wir einen Haproxy Load Balancer für unsere einrichten Webserver. Dieser Haproxy -Server fungiert als Frontend -Server und akzeptiert eingehende Anforderungen von Clients.
Auf der Haproxy Server (192.168.72.157), führen Sie die folgenden Schritte aus, um den Lastausgleich auszuräumen.
Konfigurieren Sie die Hosts -Datei
Bearbeiten die /etc/hosts Datei mit dem folgenden Befehl in Terminal:
$ sudo nano /etc /hosts
Fügen Sie die folgenden Hostnameneinträge für beide hinzu Apache Webserver zusammen mit einem eigenen Hostnamen:
192.168.72.157 Haproxy
192.168.72.158 Webserver1
192.168.72.159 Web-Server2
Jetzt speichern und schließen Sie die /etc/hosts Datei.
Installation von Haproxy Load Balancer
In diesem Schritt werden wir den Haproxy auf einem unserer Ubuntu -Server (192) installieren.168.72.157). Aktualisieren Sie dazu die APT mit dem folgenden Befehl in Terminal:
$ sudo apt-Get-Update
Aktualisieren Sie dann Pakete mit dem folgenden Befehl:
$ sudo APT-Get-Upgrade
Installieren Sie nun HAPROXY mit dem folgenden Befehl in Terminal:
$ sudo sudo apt installieren Sie Haproxy
Sobald die Installation des Haproxy -Servers abgeschlossen ist, können Sie ihn mit dem folgenden Befehl im Terminal bestätigen:
$ haproxy -v
Es zeigt Ihnen die installierte Version von Haproxy in Ihrem System, die überprüft, ob die Haproxy erfolgreich installiert wurde.
Konfigurieren von Haproxy als Lastausgleicher
Im folgenden Abschnitt konfigurieren wir Haproxy als Lastausgleicher. Um das zu tun, Bearbeiten Sie/etc/hraproxy/haproxy.CFG Datei:
$ sudo nano /etc/hraproxy/hraproxy.CFG
Fügen Sie die folgenden Zeilen im Haproxy an.CFG -Datei ersetzt die IP -Adressen durch Ihre eigenen IP -Adressen.
Die Frontend Web-Frontend In den obigen Konfigurationszeilen fordert HaProxy an 80 von 192.168.72.157 und dann sie an Backend -Server weiterleiten, die unter dem konfiguriert sind Backend Web-Backend. Ersetzen Sie beim Konfigurieren die IP -Adressen durch die relevanten IP -Adressen Ihrer Webserver.
Konfigurieren von Haproxy -Überwachung
Mit der Haproxy -Überwachung können Sie viele Informationen wie Serverstatus, übertragene Daten, Verfügbarkeit, Sitzungsrate usw. anzeigen. Um die Haproxy -Überwachung zu konfigurieren /etc/hraproxy/hraproxy.CFG:
Hören Sie Statistiken
binden 192.168.72.157: 8080
Modus http
Option vorwärts
Option httpclose
Statistiken aktivieren
Statistiken zeigen Legenden
Statistiken erfrischen 5s
Statistiken URI /Statistiken
Statistiken Realm Haproxy \ Statistik
STATS AUTH KBUZDAR: KBUZDAR #Login -Benutzer und Passwort für die Überwachung
Statistiken admin Wenn wahr
default_backend webbackend
Die obige Konfiguration ermöglicht die Haproxy “StatistikenSeite mit dem Statistiken Richtlinie und sichern Sie es mit http Grundlegende Authentifizierung mit dem von der Benutzernamen und dem Passwort definierten von der Statistiken Auth Richtlinie.
Sobald Sie mit den Konfigurationen fertig sind, speichern und schließen Sie die Haproxy.CFG -Datei.
Überprüfen Sie nun die Konfigurationsdatei mit dem folgenden Befehl in Terminal:
$ haproxy -c -f/etc/haproxy/haproxy.CFG
Die folgende Ausgabe zeigt, dass die Konfigurationen korrekt sind.
Um die Konfigurationen anzuwenden, starten Sie nun den Haproxy -Dienst neu:
$ sudo systemctl restart haproxy.Service
Es wird aufhören und dann den Haproxy -Service starten.
Um den Status des Haproxy -Dienstes zu überprüfen, wäre der Befehl:
$ sudo systemctl Status Haproxy.Service
Der aktiv (laufend) Der Status in der folgenden Ausgabe zeigt, dass der Haproxy -Server aktiviert ist und eine Geldstrafe ausgeführt wird.
Hier sind einige andere Befehle zum Verwalten des Haproxy -Servers:
Um den Haproxy -Server zu starten, wäre der Befehl:
$ sudo systemctl starten haproxy.Service
Um den Haproxy -Server zu stoppen, wäre der Befehl:
$ sudo systemctl stop hraproxy.Service
Wenn Sie den Haproxy -Server vorübergehend deaktivieren möchten, wäre der Befehl:
$ sudo systemctl deaktivieren Haproxy.Service
Um den Haproxy-Server erneut zu erleben, wäre der Befehl:
$ sudo systemctl aktivieren haproxy.Service
Testen Sie Haproxy
Stellen Sie vor dem Testen des Haproxy -Setups sicher, dass Sie eine Konnektivität zu Webservern haben. Auf Ihrem Haproxy -Server von beiden Webservern entweder nach IP -Adressen oder Hostnamen.
$ ping hostname-or-ip-Address
Die folgende Ausgabe zeigt, dass der Haproxy -Server beide Webserver erreichen kann.
Testen Sie den HA -Proxy mit einem Webbrowser
Öffnen Sie jetzt auf Ihrem Haproxy -Server einen beliebigen Webbrowser und tippen Sie auf http: // gefolgt von der Haproxy -Server -IP -Adresse, die in unserem Fall 192 ist.168.72.157.
http: // 192.168.72.157
Der Haproxy-Server sendet die Anfrage alternativ in einer Rund-Robin-Methode an beide Webserver. Sie können dies testen, indem Sie die Webseite ein paar Mal neu laden.
Dies ist die Antwort, die wir erhalten haben, als wir die http: // 192 besuchten.168.72.157 Zum ersten Mal:
Dies ist die Antwort, die wir erhalten haben, als wir die Webseite neu geladen haben:
Sie können den Hostnamen auch anstelle der Haproxy -Server -IP -Adresse verwenden.
Testen Sie HA -Proxy mit Curl
Sie können den Befehl curl auch in Linux verwenden, um das Haproxy -Setup zu testen. Öffnen Sie das Terminal und den Typ Locken gefolgt von der IP -Adresse oder dem Hostnamen des Haproxy -Servers.
$ curl 192.168.72.157
oder
$ curl hraproxy
Führen Sie den Befehl curl ein paar Mal aus und Sie werden sehen, dass sich die Antwort zwischen beiden Webservern abwechselt.
Anstatt die Befehle mehrmals auszuführen, können Sie auch das folgende Einzeilen-Skript ausführen, um den Haproxy-Server zu testen:
$ während wahr; Do Curl 192.168.72.157; Schlaf 1; Erledigt
Testen von Haproxy -Überwachung
Um auf die Seite von Haproxy -Überwachung zuzugreifen, geben Sie ein http: // gefolgt von der IP -Adresse/dem Hostnamen von Haproxy Server und Port 8080/Statistiken:
http: // 192.168.72.157: 8080/Statistiken
oder
http: // haproxy: 8080/statistics
Die folgende Authentifizierungsbox wird angezeigt. Eingeben der Nutzername Und Passwort Sie haben früher in den Konfigurationen konfiguriert und dann drücken OK.
Dies ist der Statistikbericht für unseren Haproxy -Server.
Dort haben Sie die Installation und Konfiguration von Haproxy Load Balancer auf dem Linux -System. Wir haben gerade das grundlegende Setup und die Konfiguration von Haproxy als Lastausgleich für Apache -Webserver besprochen. Wir haben uns auch einige Befehle zur Verwaltung des Haproxy -Servers angesehen. Am Ende haben wir den Lastausgleich durch den Browser und den Curl -Befehl getestet. Weitere Informationen finden Sie in der offiziellen Dokumentation von Haproxy