So installierst und konfigurierst du HAProxy unter Ubuntu 22.04
HAProxy steht für High Availability Proxy und ist eine kostenlose Open-Source-Lösung für Load Balancer und Proxys, die moderne Anwendungsarchitekturen vereinfachen und sichern soll. Sie ermöglicht es einem Webserver, eingehende Anfragen auf mehrere Endpunkte zu verteilen. Er ist sehr nützlich, wenn zu viele gleichzeitige Verbindungen die Kapazität eines einzelnen Servers überfordern. Aufgrund seiner Effizienz, Zuverlässigkeit und seines geringen Speicher- und CPU-Bedarfs wird es immer beliebter.
In diesem Beitrag erklären wir dir, wie du HAProxy auf Ubuntu 22.04 installierst.
Voraussetzungen
- Ein Server mit Ubuntu 22.04 für HAProxy.
- Zwei Server mit Ubuntu 22.04 für den Apache Backend Server.
- Auf allen Servern ist ein Root-Passwort eingerichtet.
Apache Webserver als Backend Server einrichten
Zunächst musst du zwei Apache-Webserver als Backend-Server einrichten, um das Lernprogramm durchzuführen.
Auf dem ersten Backend-Server installierst du das Apache-Paket mit dem folgenden Befehl:
apt-get install apache2 -y
Nach der Installation erstellst du mit folgendem Befehl eine Apache-Beispiel-Indexseite:
echo "<H1>Success! This is my first Apache Server</H1>" | tee /var/www/html/index.html
Auf dem zweiten Backend-Server installierst du das Apache-Paket mit folgendem Befehl:
apt-get install apache2 -y
Als Nächstes erstellst du eine Apache-Indexseite mit dem folgenden Befehl:
echo "<H1>Success! This is my second Apache Server</H1>" | tee /var/www/html/index.html
Wenn du damit fertig bist, kannst du mit der Installation des HAProxy-Servers fortfahren.
HAProxy installieren
Standardmäßig ist HAProxy im Standard-Repository von Ubuntu 22.04 enthalten. Du kannst ihn installieren, indem du den folgenden Befehl ausführst:
apt-get install haproxy -y
Sobald HAProxy installiert ist, starte den HAProxy-Dienst und aktiviere ihn so, dass er beim Neustart des Systems gestartet wird:
systemctl start haproxy systemctl enable haproxy
Sobald du damit fertig bist, kannst du mit der Konfiguration des HAProxy fortfahren.
HAProxy konfigurieren
Jetzt ist der HAProxy installiert und läuft. Jetzt musst du die HAProxy-Standardkonfigurationsdatei bearbeiten und die Backend-Webserver definieren.
nano /etc/haproxy/haproxy.cfg
Füge deine beiden Backend-Apache-Server hinzu:
frontend apache_front # Frontend listen port - 80 bind *:80 # Set the default backend default_backend apache_backend_servers # Enable send X-Forwarded-For header option forwardfor # Define backend backend apache_backend_servers # Use roundrobin to balance traffic balance roundrobin # Define the backend servers server backend01 172.16.0.200:80 check server backend02 172.16.0.201:80 check
Speichere und schließe die Datei, wenn du fertig bist.
Wo: 172.16.0.200 ist die IP-Adresse des ersten Apache-Backend-Servers und 172.16.0.201 ist die IP-Adresse des zweiten Apache-Backend-Servers.
Starte als Nächstes den HAProxy-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart haproxy
Du kannst nun den Status des HAProxy mit dem folgenden Befehl überprüfen:
systemctl status haproxy
Du erhältst die folgende Ausgabe:
? haproxy.service - HAProxy Load Balancer Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-07-11 09:03:45 UTC; 45s ago Docs: man:haproxy(1) file:/usr/share/doc/haproxy/configuration.txt.gz Main PID: 48217 (haproxy) Tasks: 2 (limit: 2242) Memory: 71.3M CPU: 143ms CGroup: /system.slice/haproxy.service ??48217 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock ??48219 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock Jul 11 09:03:45 ubuntu2204 systemd[1]: Starting HAProxy Load Balancer... Jul 11 09:03:45 ubuntu2204 haproxy[48217]: [NOTICE] (48217) : New worker #1 (48219) forked Jul 11 09:03:45 ubuntu2204 systemd[1]: Started HAProxy Load Balancer.
Test HAProxy
Jetzt ist HAProxy konfiguriert und läuft. Jetzt musst du überprüfen, ob der HAProxy funktioniert oder nicht.
Öffne deinen Webbrowser und gib die URL http://your-haproxy-ip ein. Du wirst sehen, dass HAProxy nach jeder Aktualisierung eine Anfrage nach der anderen an die Backend-Server sendet.
Fazit
In diesem Beitrag haben wir dir gezeigt, wie du den HAProxy-Server installierst und konfigurierst, um die Last auf zwei Apache-Webserver zu verteilen. auf Ubuntu 22.04. Du kannst HAProxy jetzt in der Produktionsumgebung einsetzen, um die Leistung und Verfügbarkeit deiner Webanwendung zu erhöhen.