In diesem Tutorial zeigen wir Ihnen, wie Sie HAProxy auf Ihrem Debian 9 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 Schritt für Schritt die Installation von HAProxy auf einem Debian 9 (Stretch) Server.
Installieren Sie HAProxy auf Debian 9 Stretch
Schritt 1. Bevor wir Software installieren, ist es wichtig sicherzustellen, dass Ihr System auf dem neuesten Stand ist, indem Sie den folgenden apt-get
ausführen Befehle im Terminal:
apt-get updateapt-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:
Details zum Webserver: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.103HAProxy-Server:HAProxy: haproxy <8. 1 9 /pre>Schritt 3. HAProxy installieren.
Debian 9 wird bereits mit HAProxy 1.7 ausgeliefert (der neuesten stabilen Version zum Zeitpunkt des Schreibens), und wir können es einfach mit apt-get installieren:
apt-get -y install haproxyNach der Installation können Sie die installierte Versionsnummer wie folgt überprüfen:
haproxy -vSchritt 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.cfgglobal 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 # Standardspeicherorte für SSL-Material ca-base /etc/ssl/certs crt-base /etc/ssl/private # Standardchiffren zur Verwendung auf SSL-fähigen Listening-Sockets. # Weitere Informationen finden Sie unter ciphers(1SSL). Diese Liste stammt von: # 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-sslv3defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 / timeout server 50000 / timeout server 50000 timeout server 50000 400.http Fehlerdatei 403 /etc/haproxy/errors/403.http Fehlerdatei 408 /etc/haproxy/errors/408.http Fehlerdatei 500 /etc/haproxy/errors/500.http Fehlerdatei 502 /etc/haproxy/errors/502. http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.httpfrontend Local_Server bind 192.168.1.18:80 mode http default_backend My_Web_Serversbackend My_Web_Servers mode http balance roundrobin option forwardfor http-header -Forwarded-Port %[dst_port] http-request add-header X-Forwarded-Proto https if { ssl_f c } 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:80listen stats *:1936 stats enable stats hide-version stats refresh 30s stats show-node stats auth username:password stats uri /statsDa 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.cfgWenn der obige Befehl die Ausgabe „Konfigurationsdatei ist gültig“ zurückgibt, starten Sie den HAProxy-Dienst neu:
systemctl Haproxy neu startenSchritt 5. Zugriff auf HAProxy.
Öffnen Sie Ihren bevorzugten Browser und greifen Sie in einem Webbrowser auf Port 80 auf IP 192.168.0.18 (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 der neuesten Version von HAProxy auf dem Debian 9 Stretch-Server verwendet haben. Für zusätzliche Hilfe oder nützliche Informationen empfehlen wir Ihnen, die offizielle HAProxy-Website.