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.

HAProxy erster Server

HAProxy zweiter Server

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.

Das könnte dich auch interessieren …