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 -AdressenSchritt 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.