So richten Sie Haproxy als Lastausgleich für Nginx in CentOS 8 ein

So richten Sie Haproxy als Lastausgleich für Nginx in CentOS 8 ein
Der Proxy mit hoher Verfügbarkeit, auch als Haproxy abgekürzte. Als Lastausgleich spielt es eine entscheidende Rolle bei der Verteilung des eingehenden Webverkehrs über mehrere Webserver über bestimmte Kriterien hinweg. Auf diese Weise stellt es eine hohe Verfügbarkeit und Fehlertoleranz für den Fall sicher, dass zu viele gleichzeitige Anfragen vorhanden sind, die einen einzelnen Webserver überladen können.

HAPROXY wird von beliebten Stellen wie Tumblr, Github und Stackoverflow verwendet. In diesem Leitfaden führen wir Sie durch die Installation von Haproxy in einem Setup von Webserver, die mit Nginx betrieben werden.

Labor -Setup

3 Fälle von CentOS 7 -Servern wie gezeigt

Hostname IP -Adressen
Load_Balancer 3.17.12.132
Server_01 3.19.229.234
Server_02 3.17.9.217

Schritt 1: Bearbeiten Sie die Datei /etc /hosts für den Load Balancer

Melden Sie sich zum Starten im Lade -Balancer -System an und ändern

$ vim /etc /hosts
3.19.229.234 Server_01
3.17.9.217 Server-02

Speichern Sie nach Abschluss die Änderungen und beenden Sie die Konfigurationsdatei.

Gehen Sie nun zu jedem der Webserver und aktualisieren Sie die /etc/hosts Datei mit der IP -Adresse und dem Hostnamen des Load Balancer

3.17.12.132 Lastballer

Bestätigen Sie danach, dass Sie den Last -Balancer von server_01 pingen können

Und ebenfalls von server_02

Stellen Sie außerdem sicher, dass Sie die Server aus dem Lastausgleich pingen können.

Perfekt ! Alle Server können mit dem Lastausgleich kommunizieren!

Schritt 2: Installieren und konfigurieren Sie HA -Proxy auf dem Lastausgleicher

Da HA -Proxy bei CentOS Official Repository leicht erhältlich ist, werden wir es mit dem Yum- oder DNF -Paketmanager installieren.

Aber wie immer aktualisieren Sie das System zuerst zuerst

# YUM Update

Installieren Sie als nächstes HA -Proxy wie gezeigt

# yum install hastroxy

Nach erfolgreicher Installation navigieren Sie zum Haproxy -Verzeichnis.

# CD /etc /hraproxy

Die Best Practice erfordert, dass wir jede Konfigurationsdatei sichern, bevor wir Änderungen vornehmen. Also backup die Haproxy.CFG Datei durch Umbenennen.

# MV Haproxy.CFG Haproxy.CFG.Bak

Gehen Sie als nächstes fort und öffnen Sie die Konfigurationsdatei

Vim Haproxy.CFG

Stellen Sie sicher, dass Sie die Änderung wie gezeigt vornehmen

#---------------------------------------------------------------------
# Globale Einstellungen
#---------------------------------------------------------------------
global
Protokoll 127.0.0.1 Local2 #log -Konfiguration
chroot/var/lib/hraproxy
PIDFILE/VAR/RUN/HAPROXY.PID
Maxconn 4000
Benutzer Haproxy #haproxy unter dem Benutzer und Gruppen "Haproxy", die unter dem Benutzer und Gruppen ausgeführt wird
Gruppe Haproxy
Dämon
# STATS UNIX Socket einschalten
STATS -Socket/var/lib/hraproxy/statistics
#---------------------------------------------------------------------
# Häufige Standardeinstellungen, die alle Abschnitte "Hören" und "Backend" werden
# Verwenden Sie, wenn Sie nicht in ihrem Block ausgewiesen sind
#---------------------------------------------------------------------
Standardeinstellungen
Modus http
Log Global
Option httplog
Option dontLognull
Option http-server-close
Option vorwärts für 127.0.0.0/8
Option Redispatch
Wiederholung 3
Timeout Http-Request 10s
Timeout -Warteschlange 1m
Timeout Connect 10s
Timeout Client 1m
Timeout Server 1m
Timeout http-Keep-Alive 10s
Zeitüberprüfung 10s
Maxconn 3000
#---------------------------------------------------------------------
#HAPROXY -Überwachungskonfiguration
#---------------------------------------------------------------------
Hören Sie Haproxy3-Monitoring *: 8080 #haproxy Überwachung auf Port 8080 Lauf
Modus http
Option vorwärts
Option httpclose
Statistiken aktivieren
Statistiken zeigen Legenden
Statistiken erfrischen 5s
Statistiken URI /STATS #URL für die Überwachung von Haproxy
Statistiken Realm Haproxy \ Statistik
STATS -Authaut Passwort123: Passwort123#Benutzer und Kennwort für die Anmeldung beim Überwachungs -Dashboard
Statistiken admin Wenn wahr
Default_backend App-Main #Dis dient optional zum Überwachungs-Backend
#---------------------------------------------------------------------
# Frontend -Konfiguration
#---------------------------------------------------------------------
Frontend Main
binden *: 80
Option http-server-close
Option vorwärts
default_backend App-Main
#---------------------------------------------------------------------
# Backend Round Robin als Balancealgorithmus
#---------------------------------------------------------------------
Backend App-Main
BALIGEN SIE ROCKENBABIN #BALANANCE ALGORITHM
Option httpchk head / http / 1.1 \ r \ nHost: \ localhost
#Überprüfen Sie, ob die Serveranwendung hoch ist und Healty - 200 Statuscode
Server Server_01 3.19.229.234: 80 #nginx1 überprüfen
Server Server_02 3.17.9.217: 80 #nginx2 prüfen

Stellen Sie sicher. Speichern Sie die Änderungen und beenden Sie.

Der nächste Schritt besteht darin, Rsyslog so zu konfigurieren, dass sie Haproxy -Statistiken protokollieren können.

# vim /etc /rsyslog.Conf

Stellen Sie sicher

$ Modload iMUDP
$ UdpServerrun 514

Gehen Sie als Nächstes fort und erstellen Sie eine neue Konfigurationsdatei Haproxy.Conf

# vim /etc /rsyslog.D/Haproxy.Conf

Fügen Sie die folgenden Zeilen ein, speichern und beenden Sie

Lokal2.= info/var/log/hraproxy-access.Protokollieren Sie #für Zugriffsprotokoll
Lokal2.Hinweis/var/log/haproxy-info.Log #For Service Info - Backend, LoadBalancer

Damit die Änderungen wirksam werden können, starten Sie den Rsyslog -Daemon wie gezeigt:

# SystemCTL Neustart Rsyslog neu starten

Dann starten Sie und aktivieren Sie Haproxy

# SystemCTL Start RsysLog
# SystemCTL aktivieren RsysLog

Stellen Sie sicher, dass Haproxy läuft

# SystemCTL Status RsysLog

Schritt 3: Installieren und Konfigurieren von NGINX

Der einzige verbleibende Teil ist nun die Installation von Nginx. Melden Sie sich bei jedem der Server an und aktualisieren Sie zuerst die Systempakete:

# YUM Update

Als nächstes installieren Sie EPEL (zusätzliche Pakete für Enterprise Linux)

# yum install epel-release

Um Nginx zu installieren, führen Sie den Befehl aus:

# yum install nginx installieren

Als nächstes starten und aktivieren Sie Nginx

# Systemctl start nginx
# Systemctl aktivieren Nginx

Wir werden dann den Index ändern.Die HTML -Datei in beiden Fällen, um zu demonstrieren oder zu simulieren, wie der Ladungsbalancer den Webverkehr auf beide Server verteilen kann.

Für server_01

# echo "server_01. Hey ! Willkommen im ersten Webserver "> Index.html

Für server_02

# echo "server_02. Hey ! Willkommen im zweiten Webserver "> Index.html

Damit die Änderungen betroffen sind, starten Sie Nginx neu, um neu zu starten

# SystemCTL Neustart Nginx

Schritt 4: Testen, wenn der Lastausgleich funktioniert

Wir sind endlich an dem Punkt, an dem wir sehen möchten, ob die Konfiguration funktioniert. Melden Sie sich also in den Load Balancer an und führen Sie den Befehl curl wiederholt aus

# Curl 3.17.12.132

Sie sollten eine abwechselnde Ausgabe am Klemme erhalten, die den Wert des Index zeigt.HTML von server_01 und server_02

Testen wir nun mit einem Webbrowser. Durchsuchen Sie die IP -Adresse Ihres Lastausgleichs

http: // load-balancer-ip-address

Auf der ersten Seite werden Inhalte von einem der Webserver angezeigt


Aktualisieren Sie nun die Webseite und überprüfen Sie, ob Inhalte vom anderen Webserver angezeigt werden

Perfekt ! Der Lastbilanz verteilt den IP -Verkehr gleichermaßen zwischen den beiden Webservern !
Dies beendet dieses Tutorial, wie Sie Haproxy auf CentOS 8 installieren und konfigurieren können. Ihr Feedback wird sehr geschätzt sein.