Lastbalansering er den vanligste praksisen med å distribuere innkommende netttrafikk blant flere back-end-servere. Dette gjør applikasjonen svært tilgjengelig selv om noen av serverne går ned av en eller annen grunn. Lastbalansering øker effektiviteten og påliteligheten til en webapplikasjon. HAProxy Load-Balancer brukes til samme formål. Det er den mest brukte belastningsbalanser i bransjer. I henhold til det offisielle nettstedet brukes Haproxy av ledende selskaper som AWS, Fedora, GitHub og mange flere.
HAProxy eller høy tilgjengelighet Proxy gir høy tilgjengelighet og fullmaktsløsning. Det er skrevet i C og fungerer på nettverks- og applikasjonslag i TCP/IP -modellen. Det beste er at den har en gratis samfunnsutgave, og det er en åpen kildekode-applikasjon. Det fungerer på Linux, FreeBSD og Solaris operativsystemer. Enterprise -utgaven er også der, men den har en prislapp.
I denne guiden får vi se Hvordan installere HAProxy og konfigurere lastbalanseserveren på Debian 10.
Forutsetninger:
Installere HAProxy på Debian 10
For vår guide vil vi anta følgende IP -adressekonfigurasjon:
Trinn 1. Oppdater Debian System Repository and Packages
Kjør først kommandoene nedenfor på alle systemer for å oppdatere programvarepakker til de siste.
$ sudo apt oppdatering
$ sudo apt oppgradering -y
Trinn: 2 Installer Nginx på back-end-servere
Utarbeide back-end-serverne ved å installere Nginx-webserveren på hver. Du kan også velge å installere andre webservere som Apache.
For å installere Nginx, kjør følgende kommandoer på hver back-end-server i miljøet ditt:
$ sudo apt install nginx
Trinn: 3 Etter at Nginx er installert på back-end-serverne, start tjenesten, som vist nedenfor:
$ sudo systemctl start nginx
TIPS: Vi kan også administrere Nginx -webserveren ved å bruke kommandoen nedenfor:
$ sudo /etc /init.d/nginx “Alternativ”
Alternativ: Start på nytt Restart Status Stopp
Trinn: 4 Opprett tilpassede indekssider i nettmappen til hver NGINX -webserver. Dette vil hjelpe oss å skille hvilken back-end-server som serverer de innkommende forespørslene.
Utfør følgende oppgaver på hver webserver:
Sikkerhetskopiere den opprinnelige indeksfilen ved å bruke følgende kommando:
$ sudo cp/usr/share/nginx/html/indeks.HTML/usr/aksje/nginx/html/indeks.html.Orig
Legg til tilpasset tekst i indeksen.HTML -fil. Vi legger til IP -adressen til hver webserver.
For webserver 1:
$ sudo ekko "Webserver 1: 10.0.12.15 "| sudo tee/usr/share/nginx/html/indeks.html
For webserver 2:
$ sudo ekko "Webserver 2: 10.0.12.16 "| sudo tee/usr/share/nginx/html/indeks.html
Du kan også bruke VI -redaktøren hvis du føler deg mer komfortabel med det. Dette vises nedenfor:
$ sudo vi/usr/share/nginx/html/indeks.html
Når filen åpnes, skriv inn teksten og lagre filen.
Åpne standard virtuell vertsfil i "/etc/nginx/nettsteder-tilgjengelig/" -katalogen.
$ sudo nano/etc/nginx/nettsteder-tilgjengelig/standard
Nå inne i serverblokken, endre rotdirektivet fra “/var/www/html” til “/usr/share/nginx/html”.
For å sjekke Nginx -konfigurasjonen, kjør følgende kommando:
$ sudo nginx -t
Trinn 5: Start tjenesten på nytt ved å bruke kommandoen:
$ sudo SystemCTL Restart Nginx
Du kan sjekke statusen til Nginx ved å bruke følgende kommando:
$ sudo systemctl status nginx
Trinn: 6 For å installere HAProxy på Debian 10 (Buster), kjør følgende kommando på Load-Balancer.
$ sudo apt installer haproxy -y
Tips: Når Haproxy er installert, kan du administrere HAProxy via et init -skript. For dette, sett "aktivert" -parameteren til 1 i "/etc/standard/Haproxy" som vist nedenfor:
$ sudo vi/etc/standard/haproxy
Aktivert = 1
Nå kan følgende alternativ brukes med et init -skript:
$ sudo service haproxy “alternativ.”
Alternativ: Start på nytt Restart Status Stopp
Trinn: 7 Konfigurer nå HAProxy Load-Balancer ved å redigere HAProxy standardkonfigurasjonsfil, i.e. “/Etc/haproxy/haproxy.CFG ”. For å redigere denne filen, kjør følgende kommando
$ sudo vi/etc/haproxy/haproxy.CFG
Tips: Vennligst sikkerhetskopier den originale filen slik at i tilfelle noe går galt, vil vi være trygge. For å utføre sikkerhetskopien, bruk følgende kommando:
$ sudo cp/etc/haproxy/haproxy.CFG/etc/haproxy/haproxy.CFG.Orig
Gå nå til slutten av filen og rediger følgende informasjon:
Frontend local_server
Bind 10.0.12.10:80
modus http
Standard_backend Webserver
Backend Webserver
modus http
Balanse Roundrobin
Alternativ fremover for
HTTP-Request Set-Header X-Forwarded-Port %[DST_PORT]
HTTP-Request Add-Header X-Forwarded-Proto https IF SSL_FC
Alternativ httpchk head / http / 1.1rnhost: localhost
Server Web1 10.0.12.15:80
Server Web2 10.0.12.16:80
Merk: Ikke glem å endre IP -adressene i filen ovenfor til den du har lagt til webserverne dine.
Trinn: 8 Bekreft konfigurasjonssyntaks for filen ovenfor med følgende kommando:
$ sudo haproxy -c -f/etc/haproxy/haproxy.CFG
Hvis alt går riktig, vil det vise en utdata som: “Konfigurasjonsfilen er gyldig.”Hvis du får noen feil i utdataene, må du kontrollere konfigurasjonsfilen og bekrefte den igjen.
Trinn: 9 Start nå HAProxy -tjenesten for å bruke endringene
$ sudo service haproxy omstart
Testing av konfigurasjonen
Nå er det på tide å se om oppsettet vårt fungerer som den skal. Skriv inn Load-Balancer System IP på en nettleser (i vårt tilfelle er det 10.0.12.10) og oppdater siden kontinuerlig i 2-4 ganger for å se om haproxy-belastningsbalanser fungerer ordentlig. Du bør se forskjellige IP -adresser eller hvilken tekst du har skrevet inn i indeksen.HTML -fil når du fortsetter å oppdatere siden flere ganger.
En annen måte å sjekke er å ta en webserver offline og sjekke om en annen webserver serverer forespørslene.
Det er alt for nå! Prøv å eksperimentere med HAProxy for å lære mer om hvordan det fungerer. For e.g., du kan prøve:
HAProxy har omfattende dokumentasjon tilgjengelig for både Haproxy Community Edition og Haproxy Enterprise -versjonen. Utforsk denne dokumentasjonen for å få mer innsikt i å forbedre ytelsen og påliteligheten til servermiljøet ditt.
Denne guiden er vellykket utført på Debian 10 (Buster). Forsøk å installere HAProxy på andre Debian -baserte distros som Ubuntu, Linux Mint etc. Ikke glem å dele denne guiden med andre.