Ubuntu

Hvordan installere og konfigurere HAproxy på Ubuntu 20.04 LTS

Hvordan installere og konfigurere HAproxy på Ubuntu 20.04 LTS
HAproxy er en åpen kildekode- og lettvektspakke som tilbyr høy tilgjengelighet og lastbalansering for TCP- og HTTP-baserte programmer. Den fordeler belastningen mellom nett- og applikasjonsserverne. HAproxy er tilgjengelig for nesten alle Linux-distribusjoner. Det er en mye brukt lastbalanser som er populær for effektivitet, pålitelighet og lite minne og CPU-fotavtrykk. I dette innlegget vil vi forklare hvordan du installerer og konfigurerer HAproxy på et Ubuntu-system.

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

webserver1, redigere / etc / verter fil:

$ sudo nano / etc / hosts

Legg deretter til vertsnavnoppføringen for HAproxy serveren som følger:

vertsnavn-av-HAproxy IP-adresse-av-HAproxy

I vårt scenario vil det være:

HAproxy 192.168.72.157

2. 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 apache2

Aktiver 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.html

Hvis en brannmur kjører på systemet ditt, må du tillate Apache-trafikk gjennom det:

$ sudo ufw tillater 80 / tcp

Last deretter brannmurkonfigurasjonene på nytt:

$ ufw på nytt

Prø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øll

På 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 / hosts

Legg deretter til vertsnavnoppføringen for HAproxy serveren som følger:

HAproxy 192.168.72.157

2. Installer Apache webserver

Installer nå Apache-webserveren ved å bruke kommandoen nedenfor i Terminal.

$ sudo apt installere apache2

Aktiver 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.html

Tillat Apache i brannmuren:

$ sudo ufw tillater 80 / tcp

og last deretter brannmurkonfigurasjoner på nytt:

$ ufw på nytt

Prø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øll

Nå 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.

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 / hosts

Legg til følgende vertsnavnoppføringer for begge Apache webservere sammen med eget vertsnavn:

192.168.72.157 HAproxy
192.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 oppdatering

Oppdater deretter pakker ved hjelp av kommandoen nedenfor:

$ sudo apt-get upgrade

Installer 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 -v

Det 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.cfg

Legg 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 statistikk
bind 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.cfg

Følgende utgang viser at konfigurasjonene er riktige.

Nå for å bruke konfigurasjonene, start HAproxy-tjenesten på nytt:

$ sudo systemctl start haproxy på nytt.service

Den stopper og starter deretter HAproxy-tjenesten.

For å sjekke statusen til HAproxy-tjenesten, vil kommandoen være:

$ sudo systemctl status haproxy.service

De 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.service

For å stoppe HAproxy-serveren, vil kommandoen være:

$ sudo systemctl stopp haproxy.service

Hvis du vil deaktivere HAproxy-serveren midlertidig, vil kommandoen være:

$ sudo systemctl deaktiver haproxy.service

For å aktivere HAproxy-serveren på nytt, vil kommandoen være:

$ sudo systemctl aktiver haproxy.service

Test 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-adresse

Fø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.157

HAproxy-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.157

eller

$ curl HAproxy

Kjø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 / statistikk

eller

http: // HAproxy: 8080 / statistikk

Fø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

Gratis og åpen kildekode-spillmotorer for utvikling av Linux-spill
Denne artikkelen vil dekke en liste over gratis og open source-spillmotorer som kan brukes til å utvikle 2D- og 3D-spill på Linux. Det er mange slike ...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...
Hvordan øke FPS i Linux?
FPS står for Bilder per sekund. FPSs oppgave er å måle bildefrekvensen i videoavspilling eller spillprestasjoner. Med enkle ord betegnes antall uavbru...