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
På webbserver1, redigera / etc / värdar fil:
$ sudo nano / etc / hostsLägg sedan till värdnamn för HAproxy servern enligt följande:
värdnamn-av-HAproxy IP-adress-av-HAproxyI vårt scenario skulle det vara:
HAproxy 192.168.72.1572. 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 apache2Aktivera 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.htmlOm en brandvägg körs på ditt system måste du tillåta Apache-trafik genom det:
$ sudo ufw tillåter 80 / tcpLadda sedan om brandväggskonfigurationerna:
$ ufw ladda omFö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.
$ curlPå 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 / hostsLägg sedan till värdnamn för HAproxy server enligt följande:
HAproxy 192.168.72.1572. Installera Apache webbserver
Installera nu Apache-webbservern med hjälp av kommandot nedan i Terminal.
$ sudo apt installera apache2Aktivera 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.htmlTillåt Apache i brandväggen:
$ sudo ufw tillåter 80 / tcpoch ladda sedan om brandväggskonfigurationer:
$ ufw ladda omFö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.
$ curlNu ä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.
På 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 / hostsLägg till följande värdnamnposter för båda Apache webbservrar tillsammans med sitt eget värdnamn:
192.168.72.157 HAproxy192.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-uppdateringUppdatera sedan paket med kommandot nedan:
$ sudo apt-get uppgraderingInstallera 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 -vDen 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.cfgLä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 statistikbinda 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.cfgFöljande utdata visar att konfigurationerna är korrekta.
För att tillämpa konfigurationerna, starta om HAproxy-tjänsten:
$ sudo systemctl starta om haproxy.serviceDet 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.serviceDe 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.serviceFör att stoppa HAproxy-servern skulle kommandot vara:
$ sudo systemctl stoppa haproxy.serviceOm du vill inaktivera HAproxy-servern tillfälligt skulle kommandot vara:
$ sudo systemctl inaktiverar haproxy.serviceFör att återaktivera HAproxy-servern skulle kommandot vara:
$ sudo systemctl aktiverar haproxy.serviceTesta 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-adressFö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.157HAproxy-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.157eller
$ curl HAproxyKö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 / statistikeller
http: // HAproxy: 8080 / statistikFö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