GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren und konfigurieren Sie HAProxy unter CentOS 8 / RHEL 8

HAProxy steht für High Availability Proxy, es ist ein kostenloses Open-Source-Load-Balancer-Tool, das es ermöglicht, den eingehenden Datenverkehr (TCP und HTTP-basiert ) durch Verteilung auf die Backend-Server nach unterschiedlichen Kriterien.

Mit anderen Worten, wir können sagen, dass HAProxy verwendet wird, um Fehlertoleranz und Hochverfügbarkeit bereitzustellen, falls ein Knoten zu viele gleichzeitige Anfragen erhält. Es wird von den bekanntesten Websites wie GitHub, Stack Overflow und Tumbler verwendet.

In diesem Artikel besprechen wir die Installation und Konfiguration von HAProxy auf CentOS 8/RHEL 8 für Nginx-Webserver. Im Folgenden finden Sie die Details für mein Haproxy-Labor-Setup,

  • HAProxy-Server – 192.168.1.10 (haproxy-centos8)
  • Nginx-Server 1 – 192.168.1.11 (nginx-node01)
  • Nginx-Server 2 – 192.168.1.12 (nginx-node01)

Lassen Sie uns zu den Installations- und Konfigurationsschritten von HAProxy auf CentOS 8 / RHEL 8 springen

Schritt:1) Aktualisieren Sie die /etc/hosts-Datei Ihres HAProxy-Servers

Melden Sie sich bei Ihrem CentOS 8- oder RHEL 8-System an, wo Sie Haproxy installieren werden, fügen Sie die folgenden Zeilen in die Datei /etc/hosts ein,

192.168.1.10    haproxy-centos8
192.168.1.11    nginx-node01
192.168.1.12    nginx-node02

Stellen Sie nach dem Aktualisieren der Hosts-Datei sicher, dass Sie Nginx-Knoten anpingen können,

Schritt:2) HAProxy auf CentOS 8 / RHEL 8 installieren und konfigurieren

Das Haproxy-Paket ist in den Standardpaket-Repositories von CentOS 8 und RHEL 8 verfügbar, sodass es einfach mit dem Befehl dnf installiert werden kann. Es wird jedoch empfohlen, Ihr System zu aktualisieren, bevor Sie Haproxy installieren. Führen Sie also den folgenden Befehl aus,

[email protected] ~]# dnf update -y
[email protected] ~]# reboot

Verwenden Sie nun den folgenden dnf-Befehl, um Haproxy zu installieren,

[[email protected] ~]# dnf install haproxy

Sobald Haproxy erfolgreich installiert ist, konfigurieren Sie es, indem Sie seine Konfigurationsdatei „/etc/haproxy/haproxy.cfg bearbeiten „.

Bevor Sie die Datei bearbeiten, empfiehlt es sich immer, eine Sicherungskopie der Originaldatei zu erstellen. Führen Sie den folgenden Befehl aus,

[[email protected] ~]# cd /etc/haproxy/
[[email protected] haproxy]# cp haproxy.cfg haproxy.cfg-org
[[email protected] haproxy]#

In der Konfigurationsdatei ändern wir zwei Abschnitte frontend und Backend . Im Frontend-Abschnitt definieren wir die Haproxy-IP und ihren Port, Statistik-URI und den Backend-Namen. Im Back-End-Abschnitt definieren wir die Art des Load-Balancing-Algorithmus, den wir verwenden werden, wie Round Robin &Least Connection usw., und den Namen, die IPs und den Port des Back-End-Servers. Das Beispiel wird unten gezeigt,

[[email protected] haproxy]# vi haproxy.cfg
…………………
frontend http_balancer
    bind 192.168.1.10:80
    option http-server-close
    option forwardfor
    stats uri /haproxy?stats

#    acl url_static       path_beg       -i /static /images /javascript /stylesheets
#    acl url_static       path_end       -i .jpg .gif .png .css .js
#    use_backend static          if url_static
    default_backend     nginx_webservers

backend nginx_webservers
    mode        http
    balance     roundrobin
    option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost    
    server  nginx-node01  192.168.1.11:80  check
    server  nginx-node02  192.168.1.12:80  check
 ………………………………

Speichern und beenden Sie die Datei

Konfigurieren Sie rsyslog so, dass es alle HAProxy-Statistiken speichert, bearbeiten Sie die rsyslog-Konfigurationsdatei „/etc/rsyslog.conf ” und kommentieren Sie Zeile 19 und 20 aus,

[[email protected] ~]# vi /etc/rsyslog.conf
……
module(load="imudp")
input(type="imudp" port="514")
……

Speichern und beenden Sie die Datei.

Erstellen Sie nun die Datei haproxy.conf für rsyslog und fügen Sie die folgenden Zeilen ein,

[[email protected] ~]# vi /etc/rsyslog.d/haproxy.conf
local2.=info     /var/log/haproxy-access.log
local2.notice    /var/log/haproxy-info.log

Speichern und beenden Sie die Datei

Starten Sie den rsyslog-Dienst neu und aktivieren Sie ihn, damit er während der Neustarts verfügbar ist

[[email protected] ~]# systemctl restart rsyslog
[[email protected] ~]# systemctl enable rsyslog

Starten Sie jetzt endlich Haproxy, aber bevor Sie den Haproxy-Dienst starten, setzen Sie die folgende Selinux-Regel,

[[email protected] ~]# setsebool -P haproxy_connect_any 1

Starten und aktivieren Sie Haproxy mit den folgenden systemctl-Befehlen

[[email protected] ~]# systemctl start haproxy
[[email protected] ~]# systemctl enable haproxy

Lassen Sie den Haproxy-Port (in unserem Fall ist es 80) in der Betriebssystem-Firewall zu, führen Sie den folgenden Firewall-cmd-Befehl aus,

[[email protected] ~]# firewall-cmd --permanent --add-port=80/tcp
[[email protected] ~]# firewall-cmd --reload

Bis jetzt ist der Installations- und Konfigurationsteil von HAProxy abgeschlossen. Wechseln wir zu Nginx-Knoten,

Schritt:3) Installieren Sie NGINX und starten Sie seinen Dienst

Melden Sie sich bei beiden Nginx-Knoten an, installieren Sie Nginx und starten Sie seinen Dienst mit den folgenden Befehlen.

# dnf install nginx -y
# systemctl start nginx
# systemctl enable nginx

Lassen Sie uns die index.html-Datei des jeweiligen Knotens ändern,

Für nginx-node01

[[email protected] ~]# cd /usr/share/nginx/html
[[email protected] html]# echo "Nginx Node01 - Welcome to First Nginx Web Server" > index.html

Für nginx-node02

[[email protected] ~]# cd /usr/share/nginx/html
[[email protected] html]# echo "Nginx Node02 - Welcome to 2nd Nginx Web Server" > index.html

Lassen Sie den Nginx-Port (80) in der Betriebssystem-Firewall in beiden Knoten mit dem folgenden Befehl zu,

# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload

Schritt:4) Testen Sie, ob Ihr HAProxy ordnungsgemäß funktioniert oder nicht

Melden Sie sich beim Haproxy-Server an und führen Sie den Curl-Befehl einige Male aus, um zu sehen, ob der Datenverkehr im Round-Robin-Verfahren verteilt wird

[[email protected] ~]# curl 192.168.1.10

Perfekt, dies bestätigt, dass Haproxy ordnungsgemäß funktioniert, da es den Datenverkehr zwischen zwei Knoten verteilt,

Lassen Sie uns dies auch über den Webbrowser überprüfen,

Oben wird bestätigt, dass HAProxy erfolgreich auf CentOS 8 und RHEL 8 konfiguriert wurde.

Sie können den Status Ihres Haproxys über einen Webbrowser anzeigen, geben Sie url ein:http:///haproxy?stats

In unserem Fall lautet die URL http://192.168.1.10/haproxy?stats

Wir können auch HAProxy-Statistiken aus der Protokolldatei anzeigen ( /var/log/haproxy-access.log ).

Das ist alles aus diesem Tutorial. Ich hoffe, diese Schritte helfen Ihnen dabei, HAProxy reibungslos auf CentOS 8 und RHEL 8 einzurichten. Bitte teilen Sie uns Ihr wertvolles Feedback und Ihre Kommentare mit.

Auch lesen :So richten Sie das Django-Python-Framework unter CentOS 8 ein


Cent OS
  1. Installieren und konfigurieren Sie HAProxy unter RHEL 8 / CentOS 8 Linux

  2. So installieren und konfigurieren Sie R auf einem Linux-System mit RHEL 8 / CentOS 8

  3. So installieren und konfigurieren Sie HAProxy unter CentOS/RHEL 7/6

  4. CentOS / RHEL 7 :So installieren und konfigurieren Sie Telnet

  5. So installieren und konfigurieren Sie Samba in CentOS / RHEL

So installieren und konfigurieren Sie Nagios Core unter CentOS 8 / RHEL 8

So installieren und konfigurieren Sie den VNC-Server in CentOS 7 / RHEL 7

So installieren und konfigurieren Sie Jenkins unter CentOS 8 / RHEL 8

So installieren und konfigurieren Sie HAproxy unter CentOS 6

So installieren und konfigurieren Sie MariaDB in CentOS / RHEL 7

So installieren und konfigurieren Sie VNC Server unter CentOS/RHEL 8