In diesem Tutorial zeigen wir Ihnen, wie Sie HAProxy auf Ihrem CentOS 8 installieren. Für diejenigen unter Ihnen, die es nicht wussten, HAProxy ist ein kostenloser Hochverfügbarkeits-Load-Balancer und Proxy für HTTP/TCP server.Es verteilt Anfragen auf mehrere Server, um Probleme zu mindern, die aus einem einzelnen Serverausfall resultieren.HA Proxy wird von einer Reihe hochkarätiger Websites verwendet, darunter GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter und Tuenti, und wird verwendet im OpsWorks-Produkt von Amazon Web Services.
Dieser Artikel geht davon aus, dass Sie zumindest über Grundkenntnisse in Linux verfügen, wissen, wie man die Shell verwendet, und vor allem, dass Sie Ihre Website auf Ihrem eigenen VPS hosten. Die Installation ist recht einfach und setzt Sie voraus im Root-Konto ausgeführt werden, wenn nicht, müssen Sie möglicherweise 'sudo
hinzufügen ‘ zu den Befehlen, um Root-Rechte zu erhalten. Ich zeige Ihnen die Schritt-für-Schritt-Installation von HAProxy auf CentOS 8.
Voraussetzungen
- Ein Server, auf dem eines der folgenden Betriebssysteme ausgeführt wird:CentOS 8.
- Es wird empfohlen, dass Sie eine neue Betriebssysteminstallation verwenden, um potenziellen Problemen vorzubeugen.
- SSH-Zugriff auf den Server (oder öffnen Sie einfach das Terminal, wenn Sie sich auf einem Desktop befinden).
- Ein
non-root sudo user
oder Zugriff auf denroot user
. Wir empfehlen, alsnon-root sudo user
zu agieren , da Sie Ihr System beschädigen können, wenn Sie als Root nicht aufpassen.
Installieren Sie HAProxy auf CentOS 8
Schritt 1. Beginnen wir zunächst damit, sicherzustellen, dass Ihr System auf dem neuesten Stand ist.
sudo clean all sudo dnf update
Schritt 2. Installation von HAProxy auf CentOS 8.
HAProxy ist auf dem Standard CentOS 8 verfügbar, verwenden Sie nun den folgenden dnf
ein Befehl zum Installieren von HAProxy:
sudo dnf install haproxy
Schritt 3. HAProxy konfigurieren.
Wir erstellen eine Konfigurationsdatei /etc/haproxy/haproxy.cfg
mit den notwendigen Einstellungen und Konfigurationen:
sudo nano /etc/haproxy/haproxy.cfg
Geben Sie Folgendes in die Datei ein:
global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon stats socket /var/lib/haproxy/stats ssl-default-bind-ciphers PROFILE=SYSTEM ssl-default-server-ciphers PROFILE=SYSTEM defaults mode http log global option httplog option dontlognull option http-server-close option forwardfor except 127.0.0.0/8 option redispatch retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s maxconn 3000 frontend main bind *:5000 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 app backend static balance roundrobin server static 127.0.0.1:4331 check backend app balance roundrobin server app1 127.0.0.1:5001 check server app2 127.0.0.1:5002 check server app3 127.0.0.1:5003 check server app4 127.0.0.1:5004 check
Sie können die Konfigurationsdetails und weitere Informationen unter dieser URL anzeigen. Sobald Sie HAProxy konfiguriert haben, ist es an der Zeit, den Dienst zu starten:
sudo systemctl start haproxy sudo systemctl enable haproxy
Schritt 4. Firewall konfigurieren.
Wir werden den HAProxy zur CentOS 8-Firewall hinzufügen und die Regeln mit den folgenden Befehlen aktualisieren:
sudo firewall-cmd --add-port=8088/tcp --permanent sudo firewall-cmd --reload
Schritt 5. HAProxy-Protokollierung konfigurieren.
Um die HAProxy-Standardprotokollierung zu konfigurieren, bearbeiten Sie /etc/rsyslog.conf
und aktivieren Sie den UDP-Syslog-Empfang auf Port 514:
sudo nano /etc/rsyslog.conf
... # Provides UDP syslog reception # for parameters see http://www.rsyslog.com/doc/imudp.html module(load="imudp") # needs to be done just once input(type="imudp" port="514") ... *.info;mail.none;authpriv.none;cron.none,local2.none /var/log/messages local2.* /var/log/haproxy.log ...
Speichern Sie dann die Konfigurationsdatei und führen Sie den folgenden Befehl aus, um nach Fehlern zu suchen:
rsyslogd -N1 sudo systemctl restart rsyslog haproxy
Schritt 6. Konfigurieren Sie Apache X-Forwarded-For Logging auf Backend-Servern.
Nun melden wir uns bei den Backend-Servern an und konfigurieren Apache so, dass X-Forwarded-For-Header protokolliert werden. Die Standardzeile, die wir ändern, lautet:
... LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common ...
Bearbeiten Sie diese Zeile so, dass sie folgendermaßen aussieht:
... LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common ...
Speichern Sie die Datei und starten Sie Apache neu:
apachectl configtest sudo systemctl restart httpd
Schritt 7. HAProxy Load Balancer testen.
Um zu überprüfen, ob HAProxy in der Lage ist, die HTTP-Anforderungen auszugleichen, navigieren Sie zum Browser und greifen Sie entweder über den Hostnamen oder die IP-Adresse auf HAProxy zu.
Herzlichen Glückwunsch! Sie haben HAProxy erfolgreich installiert. Vielen Dank, dass Sie dieses Tutorial zur Installation von HAProxy auf Ihren CentOS 8-Systemen verwendet haben. Für zusätzliche Hilfe oder nützliche Informationen empfehlen wir Ihnen, die offizielle HAProxy-Website zu besuchen.