Load-balancing er den mest almindelige praksis med at distribuere indgående webtrafik blandt flere back-end-servere. Dette gør applikationen meget tilgængelig, selvom nogle af serverne falder af en eller anden grund. Load Balancing øger effektiviteten og pålideligheden af en webapplikation. HAProxy load-balancer bruges til samme formål. Det er den mest anvendte load-balancer i brancher. I henhold til det officielle websted bruges HAProxy af førende virksomheder som AWS, Fedora, Github og mange flere.
HAProxy eller High Availability Proxy giver løsning med høj tilgængelighed og proxying. Den er skrevet i C og fungerer i netværks- og applikationslag i TCP / IP-modellen. Det bedste er, at det har en gratis community-udgave, og det er en open source-applikation. Det fungerer på Linux-, FreeBSD- og Solaris-operativsystemer. Enterprise-udgaven er også der, men den har en pris.
I denne vejledning vil vi se Sådan installeres HAProxy og konfigurering af Load Balancing Server på Debian 10.
Forudsætninger:
- “Sudo” adgang til alle maskiner og grundlæggende viden om kørende kommandoer i Linux terminal.
- Private IP-adresser tilføjet til load-balancer og backend-servere.
- Debian 10-operativsystem installeret på alle maskiner.
Installation af HAProxy på Debian 10
I vores guide antager vi følgende IP-adressekonfiguration:
- HAProxy load-balancer 10.0.12.10
- Webserver1: IP-adresse: 10.0.12.15
- Webserver2: IP-adresse: 10.0.12.16
Trin 1. Opdater Debian System repository og pakker
Kør først nedenstående kommandoer på alle systemer for at opdatere softwarepakker til den nyeste.
$ sudo apt opdatering$ sudo apt opgradering -y
Trin: 2 Installer Nginx på back-end-servere
Forbered dine back-end-servere ved at installere Nginx-webserveren på hver. Du kan også vælge at installere andre webservere som apache.
For at installere Nginx skal du køre følgende kommandoer på hver back-end-server i dit miljø:
$ sudo apt installere nginxTrin: 3 Når Nginx er installeret på dine back-end-servere, skal du starte tjenesten som vist nedenfor:
$ Sudo systemctl start nginxTIP: Vi kan også administrere nginx-webserveren ved hjælp af nedenstående kommando:
$ sudo / etc / init.d / nginx “option”option: start genindlæs genstart status stop
Trin: 4 Opret tilpassede indekssider i webmappen på hver Nginx-webserver. Dette hjælper os med at skelne mellem, hvilken back-end-server der betjener de indgående anmodninger.
Udfør følgende opgaver på hver webserver:
Sikkerhedskopier den originale indeksfil ved hjælp af følgende kommando:
$ sudo cp / usr / share / nginx / html / index.html / usr / share / nginx / html / index.html.origFøj tilpasset tekst til indekset.html-fil. Vi tilføjer IP-adressen på hver webserver.
For webserver 1:
$ sudo echo "Webserver 1: 10.0.12.15 "| sudo tee / usr / share / nginx / html / index.htmlFor webserver 2:
$ sudo echo "Webserver 2: 10.0.12.16 "| sudo tee / usr / share / nginx / html / index.htmlDu kan også bruge vi editor, hvis du føler dig mere komfortabel med det. Dette er vist nedenfor:
$ sudo vi / usr / share / nginx / html / index.htmlNår filen åbnes, skal du indtaste teksten og gemme filen.
Åbn standard virtuel værtsfil i mappen “/ etc / nginx / sites-available /”.
$ sudo nano / etc / nginx / sites-tilgængelig / standardNu inde i serverblokken skal du ændre roddirektivet fra “/ var / www / html” til “/ usr / share / nginx / html”.
For at kontrollere Nginx-konfigurationen skal du køre følgende kommando:
$ sudo nginx -tTrin 5: Genstart nu tjenesten ved hjælp af kommandoen:
$ sudo systemctl genstart nginxDu kan kontrollere status for nginx ved hjælp af følgende kommando:
$ sudo systemctl status nginxTrin: 6 For at installere HAProxy på Debian 10 (Buster) skal du køre følgende kommando på belastningsbalanceren.
$ sudo apt installere haproxy -yTip: Når HAProxy er installeret, kan du administrere HAProxy via et init-script. Til dette skal du indstille parameteren "aktiveret" til 1 i "/ etc / default / haproxy" som vist nedenfor:
$ sudo vi / etc / default / haproxyAKTIVERET = 1
Nu kan følgende mulighed bruges med et init-script:
$ sudo service haproxy “mulighed.”option: start genindlæs genstart status stop
Trin: 7 Konfigurer nu HAProxy load-balancer ved at redigere haproxy-standardkonfigurationsfilen, dvs.e. “/ Etc / haproxy / haproxy.cfg ”. For at redigere denne fil skal du køre følgende kommando
$ sudo vi / etc / haproxy / haproxy.cfgTip: Sikkerhedskopier den originale fil, så hvis noget går galt, er vi alle sikre. For at udføre sikkerhedskopien skal du bruge følgende kommando:
$ sudo cp / etc / haproxy / haproxy.cfg / etc / haproxy / haproxy.cfg.origGå nu til slutningen af filen, og rediger følgende oplysninger:
frontend Local_Serverbind 10.0.12.10:80
tilstand http
default_backend webserver
backend webserver
tilstand http
balance rundrobin
option frem til
http-anmodning sæt-overskrift X-videresendt-port% [dst_port]
http-anmodning tilføj-header X-Videresendt-Proto https hvis ssl_fc
indstilling httpchk HEAD / HTTP / 1.1rnHost: localhost
serverweb1 10.0.12.15:80
server web2 10.0.12.16:80
Bemærk: Glem ikke at ændre IP-adresserne i ovenstående fil til den, du har tilføjet til dine webservere.
Trin: 8 Bekræft konfigurationssyntaxen for ovenstående fil med følgende kommando:
$ sudo haproxy -c -f / etc / haproxy / haproxy.cfgHvis alt går rigtigt, vil det vise en output som: “Konfigurationsfilen er gyldig.”Hvis du får nogen fejl i output, skal du kontrollere din konfigurationsfil og kontrollere den igen.
Trin: 9 Genstart nu HAProxy-tjenesten for at anvende ændringerne
$ sudo service haproxy genstartTest af konfigurationen
Nu er det tid til at se, om vores opsætning fungerer korrekt. Indtast load-balancer-systemets IP i en webbrowser (i vores tilfælde er det 10.0.12.10) og opdater siden kontinuerligt i 2-4 gange for at se, om HAProxy load-balancer fungerer korrekt. Du skal se forskellige IP-adresser eller den tekst, du har indtastet i indekset.html-fil, når du fortsætter med at opdatere siden flere gange.
En anden måde at kontrollere er at tage en webserver offline og kontrollere, om en anden webserver betjener anmodningerne.
Det er alt for nu! Prøv at eksperimentere med HAProxy for at lære mere om, hvordan det fungerer. For e.g., du kan prøve:
- Integrering af forskellige webserverer ved siden af nginx.
- Ændring af belastningsbalanceringsalgoritmen til noget andet end round-robin.
- Konfiguration af HAProxy-helbredskontrol for at afgøre, om en back-end-server fungerer eller ej.
- Anvendelse af klæbrige sessioner for at forbinde en bruger til den samme back-end-server.
- Brug af HAProxy-statistik til at få indsigt i trafikken på servere.
HAProxy har omfattende dokumentation tilgængelig til både HAProxy community-udgaven og HAProxy-virksomhedsversionen. Udforsk denne dokumentation for at få mere indsigt i at forbedre ydelsen og pålideligheden af dit servermiljø.
Denne guide er blevet udført med succes på Debian 10 (Buster). Prøv at installere HAProxy på andre Debian-baserede distroer som Ubuntu, Linux Mint osv. Glem ikke at dele denne vejledning med andre.