So installierst du HAProxy unter Debian 11

HAProxy ist eine kostenlose, quelloffene und zuverlässige Lösung für Hochverfügbarkeit und Lastausgleich. Sie verteilt die Last auf mehrere Anwendungsserver und vereinfacht die Bearbeitung von Anfragen. Sie kann auf allen gängigen Linux-Betriebssystemen installiert werden. Sie ist aufgrund ihrer Effizienz, Zuverlässigkeit und ihres geringen Speicher- und CPU-Bedarfs beliebt.

In diesem Beitrag erklären wir dir, wie du HAProxy auf einem Debian 11 System installierst.

Voraussetzungen

  • Ein Server, auf dem Debian 11 für HAProxy läuft.
  • Zwei Server, auf denen Debian 11 für den Apache Backend Server läuft.
  • Auf allen Servern ist ein Root-Passwort eingerichtet.

Backend-Webserver einrichten

Für diesen Lehrgang musst du zwei Backend-Apache-Server einrichten.

Auf dem ersten Backend-Server installierst du das Apache-Paket mit dem folgenden Befehl:

apt-get install apache2 -y

Sobald der Apache installiert ist, erstellst du mit folgendem Befehl eine Apache-Indexseite als Beispiel:

echo "<H1>Welcome to the 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 mit folgendem Befehl eine Apache-Indexseite:

echo "<H1>Welcome to the second Apache Server</H1>" | tee /var/www/html/index.html

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

HAProxy installieren

Standardmäßig ist HAProxy im Standard-Repository von Debian 11 enthalten. Du kannst es mit folgendem Befehl installieren:

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 dem nächsten Schritt fortfahren.

HAProxy konfigurieren

Als Nächstes musst du die HAProxy-Standardkonfigurationsdatei bearbeiten und die Backend-Webserver definieren.

nano /etc/haproxy/haproxy.cfg

Füge die folgenden Zeilen 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 192.168.1.10:80 check
        server             backend02 192.168.1.11:80 check

Speichere und schließe die Datei, wenn du fertig bist.

Wo: 192.168.1.10 ist die IP-Adresse des ersten Apache-Backend-Servers und 192.168.1.11 ist die IP-Adresse des zweiten Apache-Backend-Servers.

Starte anschließend 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 Sun 2021-11-07 03:47:14 UTC; 9s ago
       Docs: man:haproxy(1)
             file:/usr/share/doc/haproxy/configuration.txt.gz
    Process: 86678 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=0/SUCCESS)
   Main PID: 86680 (haproxy)
      Tasks: 3 (limit: 4679)
     Memory: 34.2M
        CPU: 61ms
     CGroup: /system.slice/haproxy.service
             ??86680 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
             ??86682 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock

Nov 07 03:47:14 debian11 systemd[1]: Starting HAProxy Load Balancer...
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started.
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_front started.
Nov 07 03:47:14 debian11 systemd[1]: Started HAProxy Load Balancer.
Nov 07 03:47:14 debian11 haproxy[86680]: [NOTICE] 310/034714 (86680) : New worker #1 (86682) forked
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started.
Nov 07 03:47:14 debian11 haproxy[86680]: Proxy apache_backend_servers started.

Verify HAProxy

Jetzt ist HAProxy konfiguriert und läuft. Jetzt ist es an der Zeit, den HAProxy zu testen.

Öffne deinen Webbrowser und gib die URL http://your-haproxy-ip ein. Du wirst sehen, dass der HAProxy nach jeder Aktualisierung eine Anfrage nach der anderen an die Backend-Server sendet.

Server 1

Server 2

Fazit

Glückwunsch! Du hast HAProxy erfolgreich auf Debian 11 installiert. Jetzt kannst du HAProxy in der Produktionsumgebung einsetzen, um die Leistung und Verfügbarkeit deiner Webanwendung zu erhöhen.

Das könnte dich auch interessieren …