Ubuntu

Hur man installerar och konfigurerar HAproxy på Ubuntu 20.04 LTS

Hur man installerar och konfigurerar HAproxy på Ubuntu 20.04 LTS
HAproxy är ett öppen källkod och lättviktspaket som erbjuder hög tillgänglighet och belastningsbalansering för TCP- och HTTP-baserade program. Det fördelar belastningen mellan webb- och applikationsservrar. HAproxy är tillgängligt för nästan alla Linux-distributioner. Det är en mycket använd belastningsutjämnare som är populär för sin effektivitet, tillförlitlighet och låga minne och CPU-fotavtryck. I det här inlägget kommer vi att förklara hur man installerar och konfigurerar HAproxy på ett Ubuntu-system.

Vi har installerat tre maskiner. Vi installerar HAproxy på en server och Apache-webbservrarna på två servrar. Vår HAproxy-server fungerar sedan som en belastningsutjämnare och distribuerar belastningen bland Apache-webbservrar.

Notera: Proceduren och kommandona som nämns i det här inlägget har testats på Ubuntu 20.04 LTS (Focal Fossa). Samma procedur gäller också för distributioner av Debian och Mint.

Nätverksdetaljer

Vi kommer att använda tre Ubuntu-servrar; alla på samma nätverk. Detaljerna på våra servrar är som följer:

Värdnamn: HAproxy, IP-adress: 192.168.72.157 (Frontend-server)
Värdnamn: webbserver1, IP-adress: 192.168.72.158 (Backend-servrar)
Värdnamn: webbserver2, IP-adress: 192.168.72.159 (Backend-servrar)

Notera: Du måste ha sudo-privilegier på alla servrar.

Vi konfigurerar en maskin som en belastningsutjämnare och de andra två som webbservrar. HAproxy-servern kommer att vara vår front-end-server som tar emot förfrågningarna från användarna och vidarebefordrar dem till de två webbservrarna. Webbservrarna kommer att vara våra Backend-servrar som tar emot de vidarebefordrade förfrågningarna.

Så här ser vår inställning ut:

Konfigurera webbservrar-Backend-servrar

I det här avsnittet installerar vi två webbservrar (webbserver1 och webbserver2) som våra backend-servrar.

På webbserver1 (192.168.72.158)

Utför stegen nedan på din webbserver. Se till att ersätta värdnamn och IP-adresser med relevanta IP-adresser och värdnamn på dina webbservrar.

1. Konfigurera värdfil

webbserver1, redigera / etc / värdar fil:

$ sudo nano / etc / hosts

Lägg sedan till värdnamn för HAproxy servern enligt följande:

värdnamn-av-HAproxy IP-adress-av-HAproxy

I vårt scenario skulle det vara:

HAproxy 192.168.72.157

2. Ställ in Apache-webbserver

Installera nu Apache-webbservern med kommandot nedan i Terminal. Du kan också besöka vårt inlägg på Så här installerar du Apache-webbservern på Linux.

$ sudo apt installera apache2

Aktivera och starta sedan Apache-tjänsten med kommandona nedan i Terminal:

$ sudo systemctl aktiverar apache2
$ sudo systemctl starta apache2

Skapa en indexfil för webbserver1 med hjälp av kommandot nedan i Terminal:

$ echo "

Hej! Detta är webserver1: 192.168.72.158

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

Om en brandvägg körs på ditt system måste du tillåta Apache-trafik genom det:

$ sudo ufw tillåter 80 / tcp

Ladda sedan om brandväggskonfigurationerna:

$ ufw ladda om

Försök nu komma åt webbplatsen i din webbläsare genom att skriva http: // följt av antingen IP-adressen eller värdnamnet på din webbserver.

http: // värdnamn eller IP-adress

Alternativt kan du också använda curl-kommandot för att testa webbsidan.

$ curl

På webbserver-2 192.168.72.159)

Utför stegen nedan på din andra webbserver. Se till att ersätta värdnamn och IP-adresser med relevanta IP-adresser och värdnamn på dina webbservrar.

1. Konfigurera värdfil

I webbserver2, redigera / etc / värdar fil:

$ sudo nano / etc / hosts

Lägg sedan till värdnamn för HAproxy server enligt följande:

HAproxy 192.168.72.157

2. Installera Apache webbserver

Installera nu Apache-webbservern med hjälp av kommandot nedan i Terminal.

$ sudo apt installera apache2

Aktivera och starta sedan Apache-tjänsten med hjälp av kommandona nedan i Terminal:

$ sudo systemctl aktiverar apache2
$ sudo systemctl starta apache2

Skapa en indexfil för webbserver2 med kommandot nedan i Terminal:

$ echo "

Hej! Detta är webserver2: 192.168.72.159

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

Tillåt Apache i brandväggen:

$ sudo ufw tillåter 80 / tcp

och ladda sedan om brandväggskonfigurationer:

$ ufw ladda om

Försök nu komma åt webbplatsen i din webbläsare genom att skriva http: // följt av antingen IP-adressen eller värdnamnet.

http: // värdnamn eller IP-adress

Alternativt kan du använda curl-kommandot för att testa webbsidan.

$ curl

Nu är våra Apache-webbservrar redo.

Konfigurera HAproxy load balancer-Frontend-server

I det här avsnittet kommer vi att ställa in en HAproxy belastningsutjämnare för vår webbservrar. Denna HAproxy-server fungerar som en frontend-server och accepterar inkommande förfrågningar från klienter.

HAproxy server (192.168.72.157), utför stegen nedan för att ställa in belastningsutjämnaren.

1. Konfigurera värdfil

Redigera / etc / värdar fil med kommandot nedan i Terminal:

$ sudo nano / etc / hosts

Lägg till följande värdnamnposter för båda Apache webbservrar tillsammans med sitt eget värdnamn:

192.168.72.157 HAproxy
192.168.72.158 webbserver1
192.168.72.159 webbserver2

Spara och stäng nu / etc / värdar fil.

Installerar HAproxy load balancer

Nu i det här steget installerar vi HAproxy på en av våra Ubuntu-servern (192.168.72.157). För att göra det, uppdatera apt med följande kommando i Terminal:

$ sudo apt-get-uppdatering

Uppdatera sedan paket med kommandot nedan:

$ sudo apt-get uppgradering

Installera nu HAproxy med följande kommando i Terminal:

$ sudo sudo apt installera haproxy

När installationen av HAproxy-servern är klar kan du bekräfta det med kommandot nedan i Terminal:

$ haproxy -v

Den visar dig den installerade versionen av HAproxy på ditt system som verifierar att HAproxy har installerats.

Konfigurera HAproxy som en belastningsutjämnare

I nästa avsnitt kommer vi att konfigurera HAproxy som en belastningsutjämnare. Att göra så, redigera / etc / haproxy / haproxy.cfg fil:

$ sudo nano / etc / haproxy / haproxy.cfg

Lägg till följande rader i haproxy.CFG-fil som ersätter IP-adresserna med dina egna IP-adresser.

De frontend webb-frontend i ovanstående konfigurationsrader säger HAproxy att lyssna på inkommande förfrågningar på port 80 av 192.168.72.157 och vidarebefordra dem sedan till backend-servrar som är konfigurerade under backend webb-backend. När du konfigurerar, ersätt IP-adresserna med relevanta IP-adresser på dina webbservrar.

Konfigurera HAproxy-övervakning

Med HAproxy-övervakning kan du se mycket information inklusive serverstatus, data överförd, driftstid, sessionsfrekvens, etc. För att konfigurera HAproxy-övervakning, lägg till följande rader i konfigurationsfilen på / etc / haproxy / haproxy.cfg:

lyssna statistik
binda 192.168.72.157: 8080
läge http
alternativ framåt för
alternativet httpclose
statistik aktivera
statistik show-legender
statistik uppdatera 5s
statistik uri / statistik
statsriket Haproxy \ Statistics
stats auth kbuzdar: kbuzdar        # Inloggningsanvändare och lösenord för övervakning
statsadministratör om SANT
default_backend webb-backend

Ovanstående konfiguration möjliggör HAproxy â € œstatistikâ € sida med statistik direktivet och säkrar det med http grundläggande autentisering med användarnamn och lösenord definierat av statistik autent direktiv.

När du är klar med konfigurationerna, spara och stäng haproxy.CFG-fil.

Verifiera nu konfigurationsfilen med kommandot nedan i Terminal:

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

Följande utdata visar att konfigurationerna är korrekta.

För att tillämpa konfigurationerna, starta om HAproxy-tjänsten:

$ sudo systemctl starta om haproxy.service

Det kommer att stoppa och sedan starta HAproxy-tjänsten.

För att kontrollera status för HAproxy-tjänsten skulle kommandot vara:

$ sudo systemctl status haproxy.service

De aktiv (igång) status i följande utdata visar att HAproxy-servern är aktiverad och fungerar bra.

Här är några andra kommandon för hantering av HAproxy-servern:

För att starta HAproxy-servern skulle kommandot vara:

$ sudo systemctl starta haproxy.service

För att stoppa HAproxy-servern skulle kommandot vara:

$ sudo systemctl stoppa haproxy.service

Om du vill inaktivera HAproxy-servern tillfälligt skulle kommandot vara:

$ sudo systemctl inaktiverar haproxy.service

För att återaktivera HAproxy-servern skulle kommandot vara:

$ sudo systemctl aktiverar haproxy.service

Testa HAproxy

Innan du testar HAproxy-installationen, se till att du har anslutning till webbservrar. Från din HAproxy-server pingar du båda webbservrarna antingen efter deras IP-adresser eller värdnamn.

$ ping värdnamn-eller-ip-adress

Följande utdata visar att HAproxy-servern kan nå båda webbservrarna.

Testa HA Proxy med en webbläsare

Öppna nu vilken webbläsare och typ som helst på din HAproxy-server http: // följt av HAproxy-serverns IP-adress som i vårt fall är 192.168.72.157.

http: // 192.168.72.157

HAproxy-servern kommer alternativt att skicka begäran till båda webbservrarna i en round-robin-metod. Du kan testa detta genom att ladda om webbsidan några gånger.

Detta är svaret vi fick när vi besökte http: // 192.168.72.157 för första gången:

Det här är svaret vi fick när vi laddade om webbsidan:

Du kan också använda värdnamnet istället för HAproxy-serverns IP-adress.

Testa HA Proxy med curl

Du kan också använda curl-kommandot i Linux för att testa HAproxy-installationen. Öppna terminalen och skriv ringla följt av IP-adressen eller värdnamnet på HAproxy-servern.

$ curl 192.168.72.157

eller

$ curl HAproxy

Kör curl-kommandot några gånger så ser du svaret alternerande mellan båda webbservrarna.

Istället för att köra kommandona flera gånger kan du också köra följande enradiga skript för att testa HAproxy-servern:

$ medan det är sant; krulla 192.168.72.157; sova 1; Gjort

Testa HAproxy-övervakning

För att komma åt HAproxy-övervakningssidan, skriv http: // följt av IP-adressen / värdnamnet på HAproxy-servern och port 8080 / stats:

http: // 192.168.72.157: 8080 / statistik

eller

http: // HAproxy: 8080 / statistik

Följande autentiseringsruta visas. Stiga på användarnamnet och Lösenord du har konfigurerat tidigare i konfigurationerna och tryck sedan på OK.

Detta är statistikrapporten för vår HAproxy-server.

Där har du installationen och konfigurationen av HAproxy load balancer på Linux-systemet. Vi har just diskuterat grundläggande installation och konfiguration av HAproxy som en belastningsutjämnare för Apache-webbservrar. Vi tittade också på några kommandon för hantering av HAproxy-servern. I slutändan testade vi lastbalanseringen genom webbläsaren och curl-kommandot. Mer information finns i officiell HAproxy-dokumentation

Mus Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Muspekaren och markören i Windows 10 är mycket viktiga aspekter av operativsystemet. Detta kan också sägas för andra operativsystem, så i sanning är d...
Gratis och öppen källkodsmotorer för utveckling av Linux-spel
Den här artikeln kommer att täcka en lista över gratis motorer med öppen källkod som kan användas för att utveckla 2D- och 3D-spel på Linux. Det finns...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider är det tolfte tillskottet till Tomb Raider-serien - en action-äventyrsspelfranchise skapad av Eidos Montreal. Spelet mottogs...