HAProxy

Installieren Sie HAProxy, um den Load-Balancing-Server unter Debian 10 . zu konfigurieren

Installieren Sie HAProxy, um den Load-Balancing-Server unter Debian 10 . zu konfigurieren

Load-Balancing ist die gängigste Methode zur Verteilung des eingehenden Webdatenverkehrs auf mehrere Back-End-Server. Dadurch ist die Anwendung hochverfügbar, auch wenn einige der Server aus irgendeinem Grund ausfallen.  Load Balancing erhöht die Effizienz und Zuverlässigkeit einer Webanwendung. Der HAProxy-Load-Balancer wird für den gleichen Zweck verwendet. Es ist der am weitesten verbreitete Load-Balancer in der Industrie. Laut der offiziellen Website wird HAProxy von führenden Unternehmen wie AWS, Fedora, Github und vielen mehr verwendet.

HAProxy oder  High Availability Proxy bietet eine Hochverfügbarkeits- und Proxy-Lösung. Es ist in C geschrieben und funktioniert auf Netzwerk- und Anwendungsschichten des TCP/IP-Modells. Das Beste ist, dass es eine kostenlose Community-Edition gibt und es sich um eine Open-Source-Anwendung handelt. Es funktioniert auf Linux-, FreeBSD- und Solaris-Betriebssystemen. Die Enterprise-Edition ist auch dabei, aber sie hat ihren Preis.

In dieser Anleitung werden wir sehen So installieren Sie HAProxy und konfigurieren den Load-Balancing-Server unter Debian 10.

Voraussetzungen:

  1. „sudo“-Zugriff auf alle Maschinen und Grundkenntnisse zum Ausführen von Befehlen im Linux-Terminal.
  2. Private IP-Adressen zu Load-Balancer und Back-End-Servern hinzugefügt.
  3. Debian 10-Betriebssystem auf allen Maschinen installiert.

Installieren von HAProxy auf Debian 10

Für unseren Leitfaden gehen wir von der folgenden IP-Adresskonfiguration aus:

  1. HAProxy-Load-Balancer 10.0.12.10
  2. Webserver1: IP-Adresse: 10.0.12.fünfzehn
  3. Webserver2: IP-Adresse: 10.0.12.16

Schritt 1. Aktualisieren Sie das Debian-System-Repository und die Pakete

Führen Sie zuerst die folgenden Befehle auf allen Systemen aus, um die Softwarepakete auf die neueste Version zu aktualisieren.

$ sudo apt-Update
$ sudo apt upgrade -y

Schritt: 2 Nginx auf Back-End-Servern installieren

Bereiten Sie Ihre Back-End-Server vor, indem Sie den Nginx-Webserver auf jedem installieren. Sie können auch andere Webserver wie Apache installieren.

Um Nginx zu installieren, führen Sie die folgenden Befehle auf jedem Back-End-Server in Ihrer Umgebung aus:

$ sudo apt install nginx

Schritt: 3 Nachdem Nginx auf Ihren Back-End-Servern installiert ist, starten Sie den Dienst wie unten gezeigt:

$  sudo systemctl starte nginx

TRINKGELD: Wir können den nginx-Webserver auch mit dem folgenden Befehl verwalten:

$ sudo /etc/init.d/nginx-„Option“
Option: starten neu laden Neustart Status stoppen

Schritt: 4 Erstellen Sie benutzerdefinierte Indexseiten im Webordner jedes Nginx-Webservers. Dies hilft uns zu unterscheiden, welcher Back-End-Server die eingehenden Anfragen bedient.

Führen Sie auf jedem Webserver die folgenden Aufgaben aus:

Sichern Sie die ursprüngliche Indexdatei mit dem folgenden Befehl:

$ sudo cp /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.orig

Benutzerdefinierten Text zum Index hinzufügen.html-Datei. Wir fügen die IP-Adresse jedes Webservers hinzu.

Für Webserver 1:

$ sudo echo "Webserver 1: 10.0.12.15"  | sudo tee /usr/share/nginx/html/index.html

Für Webserver 2:

$ sudo echo "Webserver 2: 10.0.12.16"  | sudo tee /usr/share/nginx/html/index.html

Sie können auch den vi-Editor verwenden, wenn Sie sich damit wohler fühlen. Dies wird unten gezeigt:

$ sudo vi /usr/share/nginx/html/index.html

Wenn die Datei geöffnet ist, geben Sie den Text ein und speichern Sie die Datei.

Öffnen Sie die standardmäßige virtuelle Hostdatei im Verzeichnis „/etc/nginx/sites-available/“.

$ sudo nano /etc/nginx/sites-available/default

Ändern Sie nun innerhalb des Serverblocks die Root-Direktive von „/var/www/html“ in „/usr/share/nginx/html“.

Führen Sie den folgenden Befehl aus, um die Nginx-Konfiguration zu überprüfen:

$ sudo nginx -t

Schritt 5: Starten Sie nun den Dienst mit dem Befehl neu:

$ sudo systemctl nginx neu starten

Sie können den Status von nginx mit dem folgenden Befehl überprüfen:

$ sudo systemctl status nginx

Schritt: 6 Um HAProxy unter Debian 10 (Buster) zu installieren, führen Sie den folgenden Befehl auf dem Load-Balancer aus.

$ sudo apt install haproxy -y

Trinkgeld: Sobald HAProxy installiert ist, können Sie HAProxy über ein Init-Skript verwalten. Setzen Sie dazu den Parameter „enabled“ in „/etc/default/haproxy“ auf 1 wie unten gezeigt:

$ sudo vi /etc/default/haproxy
AKTIVIERT=1

Nun kann die folgende Option mit einem Init-Skript verwendet werden:

$ sudo service haproxy “Option”.”
Option: starten neu laden Neustart Status stoppen

Schritt: 7 Konfigurieren Sie nun den HAProxy-Load-Balancer, indem Sie die haproxy-Standardkonfigurationsdatei bearbeiten, d.e. „/etc/haproxy/haproxy.cfg“. Um diese Datei zu bearbeiten, führen Sie den folgenden Befehl aus

$ sudo vi /etc/haproxy/haproxy.cfg

Trinkgeld: Bitte sichern Sie die Originaldatei, damit wir alle sicher sind, falls etwas schief geht. Um die Sicherung durchzuführen, verwenden Sie den folgenden Befehl:

$ sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.orig

Gehen Sie nun zum Ende der Datei und bearbeiten Sie die folgenden Informationen:

Frontend Local_Server
binden 10.0.12.10:80
Modus http
default_backend-Webserver
Backend-Webserver
Modus http
Balance-Round-Robin
Option weiterleitenfor
http-request set-header X-Forwarded-Port %[dst_port]
http-Request Add-Header X-Forwarded-Proto https if ssl_fc
Option httpchk HEAD / HTTP/1.1rnHost:localhost
Server web1 10.0.12.15:80
Server web2 10.0.12.16:80

Hinweis: Vergessen Sie nicht, die IP-Adressen in der obigen Datei in diejenige zu ändern, die Sie Ihren Webservern hinzugefügt haben.

Schritt: 8 Überprüfen Sie die Konfigurationssyntax der obigen Datei mit dem folgenden Befehl:

$ sudo haproxy -c -f /etc/haproxy/haproxy.cfg

Wenn alles richtig läuft, wird eine Ausgabe angezeigt wie: „Konfigurationsdatei ist gültig.” Wenn Sie einen Fehler in der Ausgabe erhalten, überprüfen Sie Ihre Konfigurationsdatei erneut und überprüfen Sie sie erneut.

Schritt: 9 Starten Sie nun den HAProxy-Dienst neu, um die Änderungen zu übernehmen

$ sudo service haproxy Neustart

Testen der Konfiguration

Jetzt ist es an der Zeit zu sehen, ob unser Setup richtig funktioniert. Geben Sie die IP des Load-Balancer-Systems in einem Webbrowser ein (in unserem Fall sind es 10.0.12.10) und aktualisieren Sie die Seite kontinuierlich 2-4 Mal, um zu sehen, ob der HAProxy-Load-Balancer ordnungsgemäß funktioniert. Sie sollten verschiedene IP-Adressen oder einen beliebigen Text sehen, den Sie im Index eingegeben haben.html-Datei, wenn Sie die Seite mehrmals aktualisieren.

Eine andere Möglichkeit zur Überprüfung besteht darin, einen Webserver offline zu schalten und zu prüfen, ob ein anderer Webserver die Anfragen bedient.

Das ist alles für jetzt! Experimentieren Sie mit HAProxy, um mehr darüber zu erfahren, wie es funktioniert. Für e.G., Du kannst es versuchen:

HAProxy bietet eine umfangreiche Dokumentation sowohl für die HAProxy Community Edition als auch für die HAProxy Enterprise Version. Sehen Sie sich diese Dokumentation an, um mehr Einblicke in die Verbesserung der Leistung und Zuverlässigkeit Ihrer Serverumgebung zu erhalten.

Diese Anleitung wurde erfolgreich auf Debian 10 (Buster) durchgeführt. Versuchen Sie, HAProxy auf anderen Debian-basierten Distributionen wie Ubuntu, Linux Mint usw. zu installieren. Bitte vergessen Sie nicht, diesen Leitfaden mit anderen zu teilen.

Kostenlose und Open-Source-Spiele-Engines für die Entwicklung von Linux-Spielen
Dieser Artikel behandelt eine Liste von kostenlosen und Open-Source-Spiele-Engines, die für die Entwicklung von 2D- und 3D-Spielen unter Linux verwend...
Shadow of the Tomb Raider für Linux Tutorial
Shadow of the Tomb Raider ist die zwölfte Erweiterung der Tomb Raider-Reihe – ein Action-Adventure-Franchise von Eidos Montrealdos. Das Spiel wurde vo...
So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...