Ubuntu

Sådan installeres og konfigureres HAproxy på Ubuntu 20.04 LTS

Sådan installeres og konfigureres HAproxy på Ubuntu 20.04 LTS
HAproxy er en open source og let pakke, der tilbyder høj tilgængelighed og belastningsafbalancering til TCP og HTTP-baserede programmer. Det fordeler belastningen blandt web- og applikationsserverne. HAproxy er tilgængelig til næsten alle Linux-distributioner. Det er en meget brugt load balancer, der er populær for sin effektivitet, pålidelighed og lave hukommelse og CPU-fodaftryk. I dette indlæg vil vi forklare, hvordan du installerer og konfigurerer HAproxy på et Ubuntu-system.

Vi har opsat tre maskiner. Vi installerer HAproxy på en server og Apache-webserverne på to servere. Vores HAproxy-server fungerer derefter som en load balancer og distribuerer belastningen blandt Apache-webservere.

Bemærk: Proceduren og kommandoerne nævnt i dette indlæg er testet på Ubuntu 20.04 LTS (Focal Fossa). Den samme procedure gælder også for distributioner af Debian og Mint.

Netværksdetaljer

Vi bruger tre Ubuntu-servere; alle på det samme netværk. Detaljerne på vores servere er som følger:

Værtsnavn: HAproxy, IP-adresse: 192.168.72.157 (Frontend-server)
Værtsnavn: webserver1, IP-adresse: 192.168.72.158 (Backend-servere)
Værtsnavn: webserver2, IP-adresse: 192.168.72.159 (Backend-servere)

Bemærk: Du skal have sudo-privilegier på alle serverne.

Vi konfigurerer en maskine som en load balancer og de to andre som webservere. HAproxy-serveren vil være vores front-end-server, der modtager anmodningerne fra brugerne og videresender dem til de to webservere. Webserverne vil være vores Backend-servere, der modtager de videresendte anmodninger.

Sådan ser vores opsætning ud:

Opsætning af webservere - Backend-servere

I dette afsnit opretter vi to webservere (webserver1 og webserver2) som vores backend-servere.

På webserver1 (192.168.72.158)

Udfør nedenstående trin på din webserver. Sørg for at udskifte værtsnavne og IP-adresser med de relevante IP-adresser og værtsnavne på dine webservere.

1. Konfigurer værtsfil

webserver1, rediger / etc / hosts fil:

$ sudo nano / etc / hosts

Tilføj derefter værtsnavnet for HAproxy server som følger:

værtsnavn-af-HAproxy IP-adresse-af-HAproxy

I vores scenario ville det være:

HAproxy 192.168.72.157

2. Konfigurer Apache webserver

Installer nu Apache-webserver ved hjælp af nedenstående kommando i Terminal. Du kan også besøge vores indlæg på Sådan installeres Apache-webserveren på Linux.

$ sudo apt installere apache2

Aktiver derefter og start Apache-tjenesten ved hjælp af nedenstående kommandoer i Terminal:

$ sudo systemctl aktiverer apache2
$ sudo systemctl start apache2

Opret en indeksfil til webserver1 ved hjælp af nedenstående kommando i Terminal:

$ echo "

Hej! Dette er webserver1: 192.168.72.158

"| sudo tee / var / www / html / index.html

Hvis en firewall kører på dit system, skal du tillade Apache-trafik gennem det:

$ sudo ufw tillader 80 / tcp

Genindlæs derefter firewallkonfigurationerne:

$ ufw genindlæs

Prøv nu at få adgang til webstedet i din webbrowser ved at skrive http: // efterfulgt af enten IP-adressen eller værtsnavnet på din webserver.

http: // værtsnavn-eller-IP-adresse

Alternativt kan du også bruge curl-kommandoen til at teste websiden.

$ krølle

På webserver-2 192.168.72.159)

Udfør nedenstående trin på din anden webserver. Sørg for at udskifte værtsnavne og IP-adresser med de relevante IP-adresser og værtsnavne på dine webservere.

1. Konfigurer værtsfil

I webserver2, rediger / etc / hosts fil:

$ sudo nano / etc / hosts

Tilføj derefter værtsnavnet for HAproxy server som følger:

HAproxy 192.168.72.157

2. Installer Apache webserver

Installer nu Apache-webserver ved hjælp af nedenstående kommando i Terminal.

$ sudo apt installere apache2

Aktiver derefter og start Apache-tjenesten ved hjælp af nedenstående kommandoer i Terminal:

$ sudo systemctl aktiverer apache2
$ sudo systemctl start apache2

Opret en indeksfil til webserver2 ved hjælp af nedenstående kommando i Terminal:

$ ekko "

Hej! Dette er webserver2: 192.168.72.159

"| sudo tee / var / www / html / index.html

Tillad Apache i firewallen:

$ sudo ufw tillader 80 / tcp

og genindlæs derefter firewallkonfigurationer:

$ ufw genindlæs

Prøv nu at få adgang til webstedet i din webbrowser ved at skrive http: // efterfulgt af enten IP-adressen eller værtsnavnet.

http: // værtsnavn-eller-IP-adresse

Alternativt kan du bruge curl-kommandoen til at teste websiden.

$ krølle

Nu er vores Apache-webservere klar.

Opsætning af HAproxy load balancer-Frontend-server

I dette afsnit opretter vi en HAproxy-belastningsafbalancering til vores webservere. Denne HAproxy-server fungerer som en frontend-server og accepterer indgående anmodninger fra klienter.

På den HAproxy server (192.168.72.157), skal du udføre nedenstående trin for at konfigurere load balancer.

1. Konfigurer værtsfil

Rediger / etc / hosts fil ved hjælp af nedenstående kommando i Terminal:

$ sudo nano / etc / hosts

Tilføj følgende værtsnavne poster for begge Apache webservere sammen med sit eget værtsnavn:

192.168.72.157 HAproxy
192.168.72.158 webserver1
192.168.72.159 webserver2

Gem nu og luk / etc / hosts fil.

Installation af HAproxy load balancer

Nu i dette trin installerer vi HAproxy på en af ​​vores Ubuntu-servere (192.168.72.157). For at gøre det skal du opdatere apt ved hjælp af følgende kommando i Terminal:

$ sudo apt-get opdatering

Opdater derefter pakker ved hjælp af nedenstående kommando:

$ sudo apt-get opgradering

Installer nu HAproxy ved hjælp af følgende kommando i Terminal:

$ sudo sudo apt installere haproxy

Når installationen af ​​HAproxy-serveren er afsluttet, kan du bekræfte det ved hjælp af nedenstående kommando i Terminal:

$ haproxy -v

Det viser dig den installerede version af HAproxy på dit system, der bekræfter, at HAproxy er blevet installeret.

Konfiguration af HAproxy som en belastningsafbalancering

I det følgende afsnit konfigurerer vi HAproxy som en belastningsafbalancering. For at gøre det, rediger / etc / haproxy / haproxy.cfg fil:

$ sudo nano / etc / haproxy / haproxy.cfg

Tilføj følgende linjer i haproxy.cfg-fil, der erstatter IP-adresserne med dine egne IP-adresser.

Det frontend web-frontend i ovenstående konfigurationslinjer beder HAproxy om at lytte til indgående anmodninger på port 80 af 192.168.72.157 og videresend dem derefter til backend-servere, der er konfigureret under bagende web-backend. Udskift IP-adresserne med de relevante IP-adresser på dine webservere, mens du konfigurerer.

Konfiguration af HAproxy-overvågning

Med HAproxy-overvågning kan du se en masse oplysninger, herunder serverstatus, data overført, oppetid, sessionshastighed osv. For at konfigurere HAproxy-overvågning skal du tilføje følgende linjer i konfigurationsfilen på / etc / haproxy / haproxy.cfg:

lyt statistik
binde 192.168.72.157: 8080
tilstand http
option frem til
valgmulighed httpclose
statistik aktiveres
statistik show-legender
statistik opdaterer 5s
statistik uri / statistik
statistik rige Haproxy \ Statistics
stats auth kbuzdar: kbuzdar        # Login bruger og adgangskode til overvågning
statsadministrator hvis SAND
default_backend web-backend

Ovenstående konfiguration muliggør HAproxy â € œstatistikâ € side ved hjælp af statistik direktivet og sikrer det med http grundlæggende godkendelse ved hjælp af brugernavnet og adgangskoden defineret af statsgodk direktiv.

Når du er færdig med konfigurationerne, skal du gemme og lukke haproxy.CFG-fil.

Bekræft nu konfigurationsfilen ved hjælp af nedenstående kommando i Terminal:

$ haproxy -c -f / etc / haproxy / haproxy.cfg

Følgende output viser, at konfigurationerne er korrekte.

For at anvende konfigurationerne skal du genstarte HAproxy-tjenesten:

$ sudo systemctl genstart haproxy.service

Det stopper og starter derefter HAproxy-tjenesten.

For at kontrollere status for HAproxy-tjenesten ville kommandoen være:

$ sudo systemctl status haproxy.service

Det aktiv (kører) status i følgende output viser, at HAproxy-serveren er aktiveret og kører fint.

Her er nogle andre kommandoer til styring af HAproxy-serveren:

For at starte HAproxy-serveren ville kommandoen være:

$ sudo systemctl start haproxy.service

For at stoppe HAproxy-serveren ville kommandoen være:

$ sudo systemctl stop haproxy.service

Hvis du midlertidigt vil deaktivere HAproxy-serveren, er kommandoen:

$ sudo systemctl deaktiver haproxy.service

For at genaktivere HAproxy-serveren ville kommandoen være:

$ sudo systemctl aktiver haproxy.service

Test HAproxy

Før du tester HAproxy-opsætningen, skal du sørge for, at du har forbindelse til webservere. Fra din HAproxy-server skal du pinge begge webservere enten efter deres IP-adresser eller værtsnavne.

$ ping værtsnavn-eller-ip-adresse

Følgende output viser, at HAproxy-serveren kan nå begge webservere.

Test HA Proxy ved hjælp af en webbrowser

Åbn enhver webbrowser og skriv nu på din HAproxy-server http: // efterfulgt af HAproxy-serverens IP-adresse, som i vores tilfælde er 192.168.72.157.

http: // 192.168.72.157

HAproxy-serveren sender alternativt anmodningen til begge webservere i en round-robin-metode. Du kan teste dette ved at genindlæse websiden et par gange.

Dette er svaret, vi modtog, da vi besøgte http: // 192.168.72.157 for første gang:

Dette er svaret, vi modtog, da vi genindlæste websiden:

Du kan også bruge værtsnavnet i stedet for HAproxy-serverens IP-adresse.

Test HA Proxy ved hjælp af krølle

Du kan også bruge curl-kommandoen i Linux til at teste HAproxy-opsætningen. Åbn terminalen, og skriv krølle efterfulgt af IP-adressen eller værtsnavnet på HAproxy-serveren.

$ krølle 192.168.72.157

eller

$ curl HAproxy

Kør curl-kommandoen et par gange, og du vil se svaret skiftevis mellem begge webservere.

I stedet for at køre kommandoerne flere gange kan du også køre følgende enlinjescript for at teste HAproxy-serveren:

$ mens det er sandt; krølle 192.168.72.157; sove 1; Færdig

Test af HAproxy-overvågning

For at få adgang til HAproxy-overvågningssiden skal du skrive http: // efterfulgt af IP-adresse / værtsnavn på HAproxy server og port 8080 / stats:

http: // 192.168.72.157: 8080 / statistik

eller

http: // HAproxy: 8080 / statistik

Følgende godkendelsesfelt vises. Gå ind brugernavnet og adgangskode du har konfigureret tidligere i konfigurationerne, og tryk derefter på Okay.

Dette er statistikrapporten for vores HAproxy-server.

Der har du installation og konfiguration af HAproxy load balancer på Linux-systemet. Vi har netop diskuteret den grundlæggende opsætning og konfiguration af HAproxy som en load balancer for Apache webservere. Vi kiggede også på nogle kommandoer til styring af HAproxy-serveren. I sidste ende testede vi belastningsbalanceringen gennem browseren og curl-kommandoen. For mere information, besøg HAproxy officielle dokumentation

Sådan oprettes en ny bruger på Ubuntu 20.04
Som alle større operativsystemer er Linux et flerbruger-operativsystem, der giver brugerne mulighed for at have deres egne separate konti. Hver bruger...
Sådan ændres tidszonen på Ubuntu 20.04
At have den rigtige tidszone på dit system er meget vigtigt, da det gør meget mere end blot at vise tiden. Hvis tidszonen ikke er indstillet korrekt, ...
Find hvilken pakke der indeholder en bestemt fil på Ubuntu 20.04 LTS
Ubuntu har mange pakker i det officielle pakkelager. Det er virkelig svært at finde den pakke, du skal installere, medmindre du kender det nøjagtige p...