Vi har satt opp tre maskiner. Vi vil installere HAProxy på en server og Apache -webservere på to servere. HAProxy -serveren vår vil da fungere som en belastningsbalanse og vil fordele belastningen blant Apache webservere.
Merk: Prosedyren og kommandoene som er nevnt i dette innlegget er testet på Ubuntu 20.04 LTS (Focal Fossa). Den samme prosedyren er også gyldig for Debian- og Mint -distribusjoner.
Nettverksdetaljer
Vi bruker tre Ubuntu -servere; Alt på samme nettverk. Detaljene på serverne våre er som følger:
Vertsnavn: HAProxy, IP -adresse: 192.168.72.157 (Frontend Server)
Vertsnavn: Web-Server1, IP-adresse: 192.168.72.158 (Backend -servere)
Vertsnavn: Web-Server2, IP-adresse: 192.168.72.159 (Backend -servere)
Merk: Du må ha sudo -privilegier på alle serverne.
Vi vil konfigurere en maskin som en lastbalanse og de to andre 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 våre backend -servere 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 (Web-server1 og Web-server2) som våre backend -servere.
På web-server1 (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.
På Web-server1, Rediger /etc/verter fil:
$ sudo nano /etc /verter
Legg deretter til vertsnavnoppføringen for Haproxy server som følger:
Hostname-of-Haproxy IP-Adress-of-Haproxy
I vårt scenario ville det være:
HAPROXY 192.168.72.157
Oppsett Apache Webserver
Installer nå Apache Web Server ved å bruke kommandoen nedenfor i terminalen. Du kan også besøke innlegget vårt på Hvordan installere Apache -webserveren på Linux.
$ sudo apt install Apache2
Aktiver og start Apache -tjenesten ved å bruke kommandoene nedenfor i terminalen:
$ sudo SystemCTL Aktiver Apache2
$ sudo systemctl start apache2
Opprett en indeksfil for Web-server1 Bruke kommandoen nedenfor i terminalen:
$ ekko "Hallo! Dette er webserver1: 192.168.72.158
"| sudo tee/var/www/html/indeks.html
Hvis en brannmur kjører på systemet ditt, må du tillate Apache -trafikk gjennom det:
$ sudo ufw tillater 80/tcp
Last deretter inn brannmurkonfigurasjonene:
$ UFW Reload
Prøv nå å få tilgang til nettstedet i nettleseren din ved å skrive http: // etterfulgt av enten IP -adressen eller vertsnavnet til webserveren din.
http: // hostname-or-ip-address
Alternativt kan du også bruke Curl -kommandoen til å teste websiden.
$ krøll
På webserver-2 192.168.72.159)
Utfør trinnene nedenfor i den andre webserveren. Sørg for å erstatte vertsnavn og IP -adresser med relevante IP -adresser og vertsnavn på webserverne dine.
I Web-server2, Rediger /etc/verter fil:
$ sudo nano /etc /verter
Legg deretter til vertsnavnoppføringen for Haproxy server som følger:
HAPROXY 192.168.72.157
Installer nå Apache Web Server ved å bruke kommandoen nedenfor i terminalen.
$ sudo apt install Apache2
Aktiver og start Apache -tjenesten ved å bruke kommandoene nedenfor i terminalen:
$ sudo SystemCTL Aktiver Apache2
$ sudo systemctl start apache2
Opprett en indeksfil for web-server2 ved å bruke kommandoen nedenfor i terminalen:
$ ekko "Hallo! Dette er webserver2: 192.168.72.159
"| sudo tee/var/www/html/indeks.html
Tillat Apache i brannmuren:
$ sudo ufw tillater 80/tcp
og deretter laste ned brannmurkonfigurasjoner:
$ UFW Reload
Prøv nå å få tilgang til nettstedet i nettleseren din ved å skrive http: // etterfulgt av enten IP -adressen eller vertsnavnet.
http: // hostname-or-ip-address
Alternativt kan du bruke Curl -kommandoen til å teste websiden.
$ krøll
Nå er Apache -webserverne våre klare.
Sette opp HAProxy Load Balancer-Frontend Server
I dette avsnittet vil vi sette opp en haproxy -belastningsbalanse for vår webservere. Denne HAProxy -serveren vil fungere som en frontend -server og godtar innkommende forespørsler fra klienter.
På Haproxy server (192.168.72.157), utfør trinnene nedenfor for å konfigurere belastningsbalanse.
Konfigurer vertsfilen
Rediger /etc/verter Fil ved å bruke kommandoen nedenfor i terminalen:
$ sudo nano /etc /verter
Legg til følgende vertsnavnoppføringer for begge Apache webservere sammen med sitt eget vertsnavn:
192.168.72.157 HAPROXY
192.168.72.158 Web-Server1
192.168.72.159 Web-Server2
Lagre og lukk nå /etc/verter fil.
Installere HAProxy Load Balancer
Nå i dette trinnet vil vi installere HAProxy på en av vår Ubuntu -server (192.168.72.157). For å gjøre det, oppdater APT ved hjelp av følgende kommando i terminalen:
$ sudo apt-get oppdatering
Oppdater deretter pakker ved å bruke kommandoen nedenfor:
$ sudo apt-get oppgradering
Installer nå HAProxy ved å bruke følgende kommando i terminalen:
$ sudo sudo apt installer haproxy
Når installasjonen av HAProxy -serveren er ferdig, kan du bekrefte den ved å bruke kommandoen nedenfor i terminalen:
$ HAPROXY -V
Det vil vise deg den installerte versjonen av HAProxy på systemet ditt som verifiserer at HAProxy er blitt installert med hell.
Konfigurere HAProxy som en belastningsbalanse
I det følgende avsnittet vil vi konfigurere HAProxy som en belastningsbalanse. Å gjøre slik, Rediger/etc/haproxy/haproxy.CFG fil:
$ sudo nano /etc/haproxy/haproxy.CFG
Legg til følgende linjer i HAProxy.CFG -fil erstatter IP -adressene med dine egne IP -adresser.
Det Frontend Web-Frontend I konfigurasjonslinjene ovenfor forteller HAProxy å lytte til innkommende forespørsler på Port 80 av 192.168.72.157 og deretter videresende dem til backend -servere konfigurert under baksiden Web-backend. Mens du konfigurerer, erstatt 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, overført data, oppetid, øktfrekvens osv. For å konfigurere HAProxy -overvåking, legger du til følgende linjer i konfigurasjonsfilen som ligger på /etc/haproxy/haproxy.CFG:
Lytt statistikk
Bind 192.168.72.157: 8080
modus http
Alternativ fremover for
Alternativ httpclose
statistikk aktiverer
Statistikk viser-legendene
Statistikk oppdaterer 5s
statistikk uri /statistikk
Stats Realm Haproxy \ Statistikk
Statistikk Auth Kbuzdar: Kbuzdar #Login -bruker og passord for overvåking
statistikk admin hvis sant
Standard_backend Web-Backend
Ovennevnte konfigurasjon muliggjør HAProxy “statistikk”Side ved hjelp av statistikk direktiv og sikrer det med http Grunnleggende godkjenning ved hjelp av brukernavnet og passordet definert av Statistikk Auth direktiv.
Når du er ferdig med konfigurasjonene, må du lagre og lukke haproxy.CFG -fil.
Kontroller nå konfigurasjonsfilen ved å bruke kommandoen nedenfor i terminalen:
$ 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 Restart HAProxy.service
Det vil stoppe og deretter starte HAProxy -tjenesten.
For å sjekke statusen til HAProxy -tjenesten, ville kommandoen være:
$ sudo systemctl status haproxy.service
De aktiv (løping) Status i følgende utgang viser at HAProxy -serveren er aktivert og kjører fint.
Her er noen andre kommandoer for å administrere HAProxy -serveren:
For å starte HAProxy -serveren, ville kommandoen være:
$ sudo systemctl start haproxy.service
For å stoppe HAProxy -serveren, ville kommandoen være:
$ sudo systemctl stopp haproxy.service
I tilfelle du midlertidig vil deaktivere HAProxy -serveren, vil kommandoen være:
$ sudo SystemCTL deaktiverer haproxy.service
For å aktivere HAProxy-serveren, ville 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 webservere. Fra HAProxy -serveren din, ping begge webservere enten med IP -adresser eller vertsnavn.
$ ping hostname-or-ip-adresse
Følgende utdata viser at HAProxy -serveren kan nå begge webserverne.
Test HA Proxy ved hjelp av en nettleser
Nå i HAProxy -serveren din, åpne hvilken som helst nettleser og type http: // etterfulgt av HAProxy Server 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 webservere i en runde-robin-metode. Du kan teste dette ved å laste inn nettsiden på nytt noen ganger.
Dette er responsen vi fikk da vi besøkte http: // 192.168.72.157 for første gang:
Dette er responsen vi fikk da vi lastet inn nettsiden:
Du kan også bruke vertsnavnet i stedet for HAProxy Server 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 typen krøll etterfulgt av IP -adressen eller vertsnavnet til HAProxy -serveren.
$ Curl 192.168.72.157
eller
$ krøll haproxy
Kjør Curl -kommandoen noen ganger, og du vil se responsen vekslende mellom begge webserverne.
I stedet for å kjøre kommandoene flere ganger, kan du også kjøre følgende en-linjeskript for å teste HAProxy-serveren:
$ mens sant; Do Curl 192.168.72.157; søvn 1; Ferdig
Testing HAProxy Monitoring
For å få tilgang til HAProxy Monitoring -siden, skriv inn http: // etterfulgt av IP -adressen/vertsnavnet til HAProxy Server og Port 8080/Statistikk:
http: // 192.168.72.157: 8080/statistikk
eller
http: // haproxy: 8080/statistikk
Følgende godkjenningsboks vises. Tast inn Brukernavnet og passord Du har konfigurert tidligere i konfigurasjonene og deretter trykk 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 lastbalanse for Apache Web -servere. Vi så også på noen kommandoer for å administrere HAProxy -serveren. Til slutt testet vi lastbalansering gjennom nettleseren og Curl -kommandoen. For mer informasjon, besøk HAProxy Official Documentation