In diesem Tutorial zeigen wir Ihnen, wie Sie HAProxy unter Ubuntu 16.04 LTS installieren und konfigurieren. Für diejenigen unter Ihnen, die es nicht wussten, HAProxy ist ein kostenloser HTTP/TCP-Load-Balancer mit hoher Verfügbarkeit und Proxy-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 im Produkt OpsWorks von Amazon Web Services verwendet.
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 Schritt für Schritt die Installation von HAProxy auf einem Ubuntu 16.04 (Xenial Xerus) Server.
Installieren Sie HAProxy auf Ubuntu 16.04 LTS
Schritt 1. Stellen Sie zunächst sicher, dass alle Ihre Systempakete auf dem neuesten Stand sind, indem Sie das folgende apt-get
ausführen Befehle im Terminal.
sudo apt-get update sudo apt-get upgrade
Schritt 2. Netzwerkdetails.
Unten ist unser Netzwerkserver. Es gibt 3 Webserver, die mit Apache2 laufen und auf Port 80 lauschen, und einen HAProxy-Server:
Web Server Details: Server 1: web1.idroot.us 192.168.1.101 Server 2: web2.idroot.us 192.168.1.102 Server 3: web3.idroot.us 192.168.1.103 HAProxy Server: HAProxy: haproxy 192.168.1.16
Schritt 3. HAProxy installieren.
Installieren Sie nun HAProxy mit folgendem Befehl:
apt-get -y install haproxy
Nach der Installation können Sie die installierte Versionsnummer wie folgt überprüfen:
haproxy -v
Schritt 4. HAProxy konfigurieren.
Wir müssen die Konfigurationsdatei von HAProxy ändern, d. h. /etc/haproxy/haproxy.cfg
gemäß unserer Anforderung. (Ändern Sie diese Konfiguration entsprechend Ihren Netzwerkanforderungen). Weitere Konfigurationsdetails finden Sie unter dieser URL.
### nano /etc/haproxy/haproxy.cfg global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon # Default SSL material locations ca-base /etc/ssl/certs crt-base /etc/ssl/private # Default ciphers to use on SSL-enabled listening sockets. # For more information, see ciphers(1SSL). This list is from: # https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256::RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS ssl-default-bind-options no-sslv3 defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http frontend Local_Server bind 192.168.1.16:80 mode http default_backend My_Web_Servers backend My_Web_Servers mode http balance roundrobin option forwardfor http-request set-header X-Forwarded-Port %[dst_port] http-request add-header X-Forwarded-Proto https if { ssl_fc } option httpchk HEAD / HTTP/1.1rnHost:localhost server web1.idroot.us 192.168.1.101:80 server web2.idroot.us 192.168.1.102:80 server web3.idroot.us 192.168.1.103:80 listen stats *:1936 stats enable stats hide-version stats refresh 30s stats show-node stats auth username:password stats uri /stats
Da Sie mit allen notwendigen Konfigurationen für den Proxy-Server fertig sind, überprüfen Sie die Konfigurationsdatei, bevor Sie den Dienst mit dem folgenden Befehl neu starten:
haproxy -c -f /etc/haproxy/haproxy.cfg
Wenn der obige Befehl die Ausgabe als „Konfigurationsdatei ist gültig“ zurückgibt, starten Sie den HAProxy-Dienst neu:
systemctl restart haproxy
Schritt 5. Zugriff auf HAProxy.
Öffnen Sie Ihren bevorzugten Browser und greifen Sie in einem Webbrowser auf Port 80 auf IP 192.168.0.16 (wie oben konfiguriert) zu und klicken Sie auf Aktualisieren. Sie werden sehen, dass HAProxy Anfragen sendet einzeln an den Backend-Server (gemäß dem Round-Robin-Algorithmus).
Herzlichen Glückwunsch! Sie haben HAProxy erfolgreich installiert. Vielen Dank, dass Sie dieses Tutorial zur Installation des HAProxy-Lastausgleichs auf einem Ubuntu 16.04 LTS (Xenial Xerus)-System verwendet haben. Für zusätzliche Hilfe oder nützliche Informationen empfehlen wir Ihnen, dies zu überprüfen die offizielle HAProxy-Website.