Vi har satt opp tre maskiner. Vi installerer HAproxy på en server og Apache-webserverne på to servere. HAproxy-serveren vår vil da fungere som en belastningsutjevner og distribuere belastningen blant Apache-webservere.
Merk: Prosedyren og kommandoene nevnt i dette innlegget er testet på Ubuntu 20.04 LTS (Focal Fossa). Den samme prosedyren gjelder også for distribusjoner av Debian og Mint.
Nettverksdetaljer
Vi bruker tre Ubuntu-servere; alle på samme nettverk. Detaljene til serverne våre er som følger:
Vertsnavn: HAproxy, IP-adresse: 192.168.72.157 (Frontend-server)Vertsnavn: webserver1, IP-adresse: 192.168.72.158 (Backend-servere)
Vertsnavn: webserver2, IP-adresse: 192.168.72.159 (Backend-servere)
Merk: Du må ha sudo-privilegier på alle serverne.
Vi vil konfigurere en maskin som en lastbalanser og de andre to som webservere. HAproxy-serveren vil være vår front-end-server som vil motta forespørslene fra brukerne og videresende dem til de to webserverne. Webserverne vil være Backend-serverne våre som vil motta de videresendte forespørslene.
Slik ser oppsettet vårt ut:
Sette opp webservere - Backend-servere
I denne delen vil vi sette opp to webservere (webserver1 og webserver2) som våre backend-servere.
På webserver1 (192.168.72.158)
Utfør trinnene nedenfor på webserveren din. Sørg for å erstatte vertsnavn og IP-adresser med relevante IP-adresser og vertsnavn på webserverne dine.
1. Konfigurer vertsfil
På webserver1, redigere / etc / verter fil:
$ sudo nano / etc / hostsLegg deretter til vertsnavnoppføringen for HAproxy serveren som følger:
vertsnavn-av-HAproxy IP-adresse-av-HAproxyI vårt scenario vil det være:
HAproxy 192.168.72.1572. Konfigurer Apache webserver
Installer nå Apache-webserveren ved å bruke kommandoen nedenfor i Terminal. Du kan også besøke innlegget vårt på Slik installerer du Apache-webserveren på Linux.
$ sudo apt installere apache2Aktiver og start deretter Apache-tjenesten ved hjelp av kommandoene nedenfor i Terminal:
$ sudo systemctl aktiverer apache2$ sudo systemctl start apache2
Lag en indeksfil for webserver1 ved hjelp av kommandoen nedenfor i Terminal:
$ echo "Hallo! Dette er webserver1: 192.168.72.158
"| sudo tee / var / www / html / index.htmlHvis en brannmur kjører på systemet ditt, må du tillate Apache-trafikk gjennom det:
$ sudo ufw tillater 80 / tcpLast deretter brannmurkonfigurasjonene på nytt:
$ ufw på nyttPrøv nå å få tilgang til nettstedet i nettleseren din ved å skrive http: // etterfulgt av enten IP-adressen eller vertsnavnet til webserveren din.
http: // vertsnavn-eller-IP-adresse
Alternativt kan du også bruke krøllkommandoen til å teste nettsiden.
$ krøllPå webserver-2192.168.72.159)
Utfør trinnene nedenfor på den andre webserveren. Sørg for å erstatte vertsnavn og IP-adresser med relevante IP-adresser og vertsnavn på webserverne dine.
1. Konfigurer vertsfil
I webserver2, redigere / etc / verter fil:
$ sudo nano / etc / hostsLegg deretter til vertsnavnoppføringen for HAproxy serveren som følger:
HAproxy 192.168.72.1572. Installer Apache webserver
Installer nå Apache-webserveren ved å bruke kommandoen nedenfor i Terminal.
$ sudo apt installere apache2Aktiver og start deretter Apache-tjenesten ved hjelp av kommandoene nedenfor i Terminal:
$ sudo systemctl aktiverer apache2$ sudo systemctl start apache2
Opprett en indeksfil for webserver2 ved å bruke kommandoen nedenfor i Terminal:
$ echo "Hallo! Dette er webserver2: 192.168.72.159
"| sudo tee / var / www / html / index.htmlTillat Apache i brannmuren:
$ sudo ufw tillater 80 / tcpog last deretter brannmurkonfigurasjoner på nytt:
$ ufw på nyttPrøv nå å få tilgang til nettstedet i nettleseren din ved å skrive http: // etterfulgt av enten IP-adressen eller vertsnavnet.
http: // vertsnavn-eller-IP-adresse
Alternativt kan du bruke krøllkommandoen til å teste nettsiden.
$ krøllNå er Apache-webserverne klare.
Sette opp HAproxy load balancer-Frontend server
I denne delen vil vi sette opp en HAproxy lastbalanser for vår webservere. Denne HAproxy-serveren fungerer som en frontend-server og godtar innkommende forespørsler fra klienter.
På HAproxy server (192.168.72.157), utfør trinnene nedenfor for å konfigurere lastbalanser.
1. Konfigurer vertsfil
Rediger / etc / verter filen ved hjelp av kommandoen nedenfor i Terminal:
$ sudo nano / etc / hostsLegg til følgende vertsnavnoppføringer for begge Apache webservere sammen med eget vertsnavn:
192.168.72.157 HAproxy192.168.72.158 webserver1
192.168.72.159 webserver2
Lagre og lukk nå / etc / verter fil.
Installerer HAproxy lastbalanser
Nå i dette trinnet installerer vi HAproxy på en av Ubuntu-serverne våre (192.168.72.157). For å gjøre det, oppdater apt med følgende kommando i Terminal:
$ sudo apt-get oppdateringOppdater deretter pakker ved hjelp av kommandoen nedenfor:
$ sudo apt-get upgradeInstaller nå HAproxy ved å bruke følgende kommando i Terminal:
$ sudo sudo apt installere haproxy
Når installasjonen av HAproxy-serveren er fullført, kan du bekrefte den ved å bruke kommandoen nedenfor i Terminal:
$ haproxy -vDet viser deg den installerte versjonen av HAproxy på systemet ditt som bekrefter at HAproxy er installert.
Konfigurere HAproxy som en lastbalanser
I det neste avsnittet vil vi konfigurere HAproxy som en belastningsutjevner. Å gjøre slik, rediger / etc / haproxy / haproxy.cfg fil:
$ sudo nano / etc / haproxy / haproxy.cfgLegg til følgende linjer i haproxyen.cfg-fil som erstatter IP-adressene med dine egne IP-adresser.
De frontend web-frontend i konfigurasjonslinjene ovenfor forteller HAproxy å lytte til innkommende forespørsler på porten 80 av 192.168.72.157 og videresend dem deretter til backend-servere konfigurert under baksiden web-backend. Mens du konfigurerer, må du erstatte IP-adressene med de relevante IP-adressene til webserverne dine.
Konfigurere HAproxy-overvåking
Med HAproxy-overvåking kan du se mye informasjon, inkludert serverstatus, data overført, oppetid, øktfrekvens osv. For å konfigurere HAproxy-overvåking, legg til følgende linjer i konfigurasjonsfilen på / etc / haproxy / haproxy.cfg:
lytte statistikkbind 192.168.72.157: 8080
modus http
opsjon fremover
alternativet httpclose
statistikk aktivere
statistikk show-legender
statistikk oppdaterer 5s
statistikk uri / statistikk
stats realm Haproxy \ Statistics
stats auth kbuzdar: kbuzdar        ÂLogin User and Password for the monitoring
statsadministrator hvis SANN
default_backend web-backend
Konfigurasjonen ovenfor muliggjør HAproxy â € œstatistikkâ € side ved hjelp av statistikk direktivet og sikrer det med http grunnleggende autentisering ved hjelp av brukernavn og passord definert av statistikk godkjenning direktivet.
Når du er ferdig med konfigurasjonene, lagrer du og lukker haproxy.CFG-fil.
Bekreft nå konfigurasjonsfilen ved å bruke kommandoen nedenfor i Terminal:
$ haproxy -c -f / etc / haproxy / haproxy.cfgFølgende utgang viser at konfigurasjonene er riktige.
Nå for å bruke konfigurasjonene, start HAproxy-tjenesten på nytt:
$ sudo systemctl start haproxy på nytt.serviceDen stopper og starter deretter HAproxy-tjenesten.
For å sjekke statusen til HAproxy-tjenesten, vil kommandoen være:
$ sudo systemctl status haproxy.serviceDe aktiv (løping) status i følgende utgang viser at HAproxy-serveren er aktivert og fungerer bra.
Her er noen andre kommandoer for å administrere HAproxy-serveren:
For å starte HAproxy-serveren, vil kommandoen være:
$ sudo systemctl start haproxy.serviceFor å stoppe HAproxy-serveren, vil kommandoen være:
$ sudo systemctl stopp haproxy.serviceHvis du vil deaktivere HAproxy-serveren midlertidig, vil kommandoen være:
$ sudo systemctl deaktiver haproxy.serviceFor å aktivere HAproxy-serveren på nytt, vil kommandoen være:
$ sudo systemctl aktiver haproxy.serviceTest HAproxy
Før du tester HAproxy-oppsettet, må du sørge for at du har tilkobling til webserverne. Fra HAproxy-serveren, ping begge webserverne, enten etter deres IP-adresser eller vertsnavn.
$ ping vertsnavn-eller-ip-adresseFølgende utdata viser at HAproxy-serveren kan nå begge webserverne.
Test HA Proxy ved hjelp av en nettleser
Åpne hvilken som helst nettleser og skriv inn i HAproxy-serveren din http: // etterfulgt av HAproxy-serverens IP-adresse som i vårt tilfelle er 192.168.72.157.
http: // 192.168.72.157HAproxy-serveren vil alternativt sende forespørselen til begge webserverne i en round-robin-metode. Du kan teste dette ved å laste inn nettsiden et par ganger.
Dette er svaret vi fikk da vi besøkte http: // 192.168.72.157 for første gang:
Dette er svaret vi fikk da vi lastet inn nettsiden på nytt:
Du kan også bruke vertsnavnet i stedet for HAproxy-serverens IP-adresse.
Test HA Proxy ved hjelp av krøll
Du kan også bruke curl-kommandoen i Linux for å teste HAproxy-oppsettet. Åpne terminalen og skriv krølle etterfulgt av IP-adressen eller vertsnavnet til HAproxy-serveren.
$ krøll 192.168.72.157eller
$ curl HAproxyKjør curl-kommandoen et par ganger, og du vil se svaret veksle mellom begge webserverne.
I stedet for å kjøre kommandoene flere ganger, kan du også kjøre følgende enlinjeskript for å teste HAproxy-serveren:
$ mens det er sant; krølle 192.168.72.157; sove 1; ferdig
Testing av HAproxy Monitoring
For å få tilgang til HAproxy-overvåkingssiden, skriv inn http: // etterfulgt av IP-adresse / vertsnavn for HAproxy server og port 8080 / stats:
http: // 192.168.72.157: 8080 / statistikkeller
http: // HAproxy: 8080 / statistikkFølgende autentiseringsboks vises. Tast inn brukernavnet og passord du har konfigurert tidligere i konfigurasjonene, og trykk deretter på OK.
Dette er statistikkrapporten for HAproxy-serveren vår.
Der har du installasjon og konfigurasjon av HAproxy load balancer på Linux-systemet. Vi har nettopp diskutert det grunnleggende oppsettet og konfigurasjonen av HAproxy som en lastbalanser for Apache webservere. Vi så også på noen kommandoer for å administrere HAproxy-serveren. Til slutt testet vi lastbalanseringen gjennom nettleseren og krøllkommandoen. For mer informasjon, besøk HAproxy offisielle dokumentasjon