Lastbalansering er den vanligste fremgangsmåten for å distribuere innkommende webtrafikk mellom flere back-end-servere. Dette gjør applikasjonen svært tilgjengelig, selv om noen av serverne går ned av en eller annen grunn. Load Balancing øker effektiviteten og påliteligheten til en webapplikasjon. HAProxy load-balanserer brukes til samme formål. Det er den mest brukte lastbalansereren i bransjer. I henhold til det offisielle nettstedet brukes HAProxy av ledende selskaper som AWS, Fedora, Github og mange flere.
HAProxy eller High Availability Proxy gir høy tilgjengelighet og proxy-løsning. Den er skrevet i C og fungerer på nettverks- og applikasjonslag av TCP / IP-modellen. Det beste er at den har en gratis community-utgave, og det er et program med åpen kildekode. Det fungerer på operativsystemene Linux, FreeBSD og Solaris. Enterprise-utgaven er også der, men den har en prislapp.
I denne guiden vil vi se Slik installerer du HAProxy og konfigurerer Load Balancing Server på Debian 10.
Forutsetninger:
- “Sudo” tilgang til alle maskinene og grunnleggende kunnskap om å kjøre kommandoer i Linux terminal.
- Private IP-adresser lagt til load-balancer og backend-servere.
- Operativsystemet Debian 10 installert på alle maskiner.
Installere HAProxy på Debian 10
For vår guide vil vi anta følgende IP-adressekonfigurasjon:
- HAProxy lastbalanserer 10.0.12.10
- Webserver1: IP-adresse: 10.0.12.15
- Webserver2: IP-adresse: 10.0.12.16
Trinn 1. Oppdater Debian System repository og pakker
Kjør først kommandoene nedenfor på alle systemer for å oppdatere programvarepakker til den nyeste.
$ sudo apt oppdatering$ sudo apt oppgradering -y
Trinn: 2 Installer Nginx på back-end-servere
Forbered back-end serverne dine ved å installere Nginx webserver 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 ditt miljø:
$ sudo apt installere nginxTrinn: 3 Etter at Nginx er installert på back-end-serverne, starter du tjenesten, som vist nedenfor:
$ Sudo systemctl start nginxTIPS: Vi kan også administrere nginx-webserveren ved hjelp av kommandoen nedenfor:
$ sudo / etc / init.d / nginx “alternativ”alternativ: start omstart status stopp
Trinn: 4 Opprett egendefinerte indeksider i nettmappen til hver Nginx-webserver. Dette vil hjelpe oss med å skille hvilken back-end-server som betjener innkommende forespørsler.
Utfør følgende oppgaver på hver webserver:
Sikkerhetskopier den originale indeksfilen ved hjelp av følgende kommando:
$ sudo cp / usr / share / nginx / html / index.html / usr / share / nginx / html / index.html.origLegg til tilpasset tekst i indeksen.html-fil. Vi legger til IP-adressen til 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å bruke vi editor hvis du føler deg mer komfortabel med det. Dette vises nedenfor:
$ sudo vi / usr / share / nginx / html / index.htmlNår filen åpnes, skriv inn teksten og lagre filen.
Åpne standard virtuell vertsfil i katalogen “/ etc / nginx / sites-available /”.
$ sudo nano / etc / nginx / nettsteder-tilgjengelig / standardNå 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 -tTrinn 5: Start tjenesten på nytt med kommandoen:
$ sudo systemctl start nginx på nyttDu kan sjekke statusen til nginx ved hjelp av følgende kommando:
$ sudo systemctl status nginxTrinn: 6 For å installere HAProxy på Debian 10 (Buster), kjør følgende kommando på lastbalanseren.
$ sudo apt installere haproxy -yTips: Når HAProxy er installert, kan du administrere HAProxy via et init-skript. For dette, sett parameteren "aktivert" til 1 i "/ etc / default / haproxy" som vist nedenfor:
$ sudo vi / etc / default / haproxyAKTIVERT = 1
Nå kan følgende alternativ brukes med et init-skript:
$ sudo service haproxy “alternativ.”alternativ: start omstart status stopp
Trinn: 7 Konfigurer nå HAProxy load-balancer ved å redigere haproxy-standardkonfigurasjonsfilen, i.e. “/ Etc / haproxy / haproxy.cfg ”. For å redigere denne filen, kjør følgende kommando
$ sudo vi / etc / haproxy / haproxy.cfgTips: Ta sikkerhetskopi av den opprinnelige filen slik at i tilfelle noe går galt, er vi alle trygge. For å utføre sikkerhetskopien, bruk følgende kommando:
$ sudo cp / etc / haproxy / haproxy.cfg / etc / haproxy / haproxy.cfg.origGå nå til slutten av filen og rediger følgende informasjon:
frontend Local_Serverbind 10.0.12.10:80
modus http
default_backend webserver
backend webserver
modus http
balansere rundrobin
opsjon fremover
http-forespørsel set-header X-Videresendt-port% [dst_port]
http-forespørsel add-header X-Forwarded-Proto https if ssl_fc
alternativet httpchk HEAD / HTTP / 1.1rnHost: lokal vert
serverweb1 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.cfgHvis alt går riktig, vil det vise en utgang som: “Konfigurasjonsfilen er gyldig.”Hvis du får feil i utdataene, må du kontrollere konfigurasjonsfilen og bekrefte den på nytt.
Trinn: 9 Start HAProxy-tjenesten på nytt for å bruke endringene
$ sudo service haproxy omstartTesting av konfigurasjonen
Nå er det på tide å se om oppsettet vårt fungerer som det skal. Skriv inn load-balancer system IP i en nettleser (i vårt tilfelle er det 10.0.12.10) og oppdater siden kontinuerlig i 2-4 ganger for å se om HAProxy load-balancer fungerer som den skal. Du bør se forskjellige IP-adresser eller hvilken tekst du har angitt 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:
- Integrering av forskjellige webserverer ved siden av nginx.
- Endring av lastbalanseringsalgoritmen til noe annet enn round-robin.
- Konfigurere HAProxy helsekontroll for å avgjøre om en back-end-server fungerer eller ikke.
- Bruke klebrig økter for å koble en bruker til samme back-end-server.
- Bruke HAProxy-statistikk for å få innsikt i trafikken på serverne.
HAProxy har omfattende dokumentasjon tilgjengelig for både HAProxy community-utgaven og HAProxy enterprise-versjonen. Utforsk denne dokumentasjonen for å få mer innsikt i å forbedre ytelsen og påliteligheten til servermiljøet ditt.
Denne guiden har blitt utført på Debian 10 (Buster). Prøv å installere HAProxy på andre Debian-baserte distroer som Ubuntu, Linux Mint osv. Ikke glem å dele denne guiden med andre.