Ubuntu

Hoe HAproxy te installeren en configureren op Ubuntu 20.04 LTS

Hoe HAproxy te installeren en configureren op Ubuntu 20.04 LTS
HAproxy is een open-source en lichtgewicht pakket dat hoge beschikbaarheid en taakverdeling biedt voor op TCP en HTTP gebaseerde programma's. Het verdeelt de belasting over de web- en applicatieservers. HAproxy is beschikbaar voor bijna alle Linux-distributies. Het is een veelgebruikte load balancer die populair is vanwege zijn efficiëntie, betrouwbaarheid en lage geheugen- en CPU-voetafdruk. In dit bericht leggen we uit hoe je HAproxy installeert en configureert op een Ubuntu-systeem.

We hebben drie machines opgesteld:. We zullen HAproxy op één server installeren en de Apache-webservers op twee servers. Onze HAproxy-server fungeert dan als een load balancer en verdeelt de belasting over de Apache-webservers.

Opmerking: De procedure en opdrachten die in dit bericht worden genoemd, zijn getest op Ubuntu 20.04 LTS (Focal Fossa). Dezelfde procedure is ook geldig voor Debian- en Mint-distributies.

Netwerkdetails

We zullen drie Ubuntu-servers gebruiken; allemaal op hetzelfde netwerk. De details van onze servers zijn als volgt:

Hostnaam: HAproxy, IP-adres: 192.168.72.157 (Frontend-server)
Hostnaam: webserver1, IP-adres: 192.168.72.158 (Backend-servers)
Hostnaam: webserver2, IP-adres: 192.168.72.159 (Backend-servers)

Opmerking: U moet sudo-rechten hebben op alle servers.

We zullen één machine configureren als een load balancer en de andere twee als webservers. De HAproxy-server is onze front-end-server die de verzoeken van de gebruikers ontvangt en doorstuurt naar de twee webservers. De webservers zijn onze backend-servers die deze doorgestuurde verzoeken zullen ontvangen.

Zo ziet onze opstelling eruit:

Webservers instellen - Backend-servers

In deze sectie zullen we twee webservers instellen (webserver1 en webserver2) als onze backend-servers.

Op webserver1(192.168.72.158)

Voer de onderstaande stappen uit in uw webserver. Zorg ervoor dat u de hostnamen en IP-adressen vervangt door de relevante IP-adressen en hostnamen van uw webservers.

1. Hosts-bestand configureren

Aan webserver1, bewerk de /etc/hosts het dossier:

$ sudo nano /etc/hosts

Voeg vervolgens de hostnaam toe voor HAproxy server als volgt:

hostnaam-van-HAproxy IP-adres-van-HAproxy

In ons scenario zou het zijn:

HAproxy 192.168.72.157

2. Apache-webserver instellen

Installeer nu de Apache-webserver met behulp van de onderstaande opdracht in Terminal:. U kunt ook onze post bezoeken op Hoe de Apache-webserver op Linux te installeren.

$ sudo apt installeer apache2

Schakel vervolgens de Apache-service in en start deze met de onderstaande opdrachten in Terminal:

$ sudo systemctl activeer apache2
$ sudo systemctl start apache2

Maak een indexbestand voor webserver1 met behulp van de onderstaande opdracht in Terminal:

$ echo "

Hallo! Dit is webserver1: 192.168.72.158

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

Als er een firewall op uw systeem draait, moet u Apache-verkeer doorlaten:

$ sudo ufw 80/tcp toestaan

Laad vervolgens de firewallconfiguraties opnieuw:

$ ufw herladen

Probeer nu de site in uw webbrowser te openen door te typen http:// gevolgd door ofwel het IP-adres of de hostnaam van uw webserver.

http:// hostnaam-of-IP-adres

Als alternatief kunt u ook de curl-opdracht gebruiken om de webpagina te testen.

$ krul

Op webserver-2 192.168.72.159)

Voer de onderstaande stappen uit in uw tweede webserver. Zorg ervoor dat u de hostnamen en IP-adressen vervangt door de relevante IP-adressen en hostnamen van uw webservers.

1. Hosts-bestand configureren

In webserver2, bewerk de /etc/hosts het dossier:

$ sudo nano /etc/hosts

Voeg vervolgens de hostnaam toe voor HAproxy server als volgt:

HAproxy 192.168.72.157

2. Apache-webserver installeren

Installeer nu de Apache-webserver met behulp van de onderstaande opdracht in Terminal:.

$ sudo apt installeer apache2

Schakel vervolgens de Apache-service in en start deze met de onderstaande opdrachten in Terminal:

$ sudo systemctl activeer apache2
$ sudo systemctl start apache2

Maak een indexbestand voor webserver2 met behulp van de onderstaande opdracht in Terminal:

$ echo "

Hallo! Dit is webserver2: 192.168.72.159

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

Apache toestaan ​​in de firewall:

$ sudo ufw 80/tcp toestaan

en laad vervolgens de firewallconfiguraties opnieuw:

$ ufw herladen

Probeer nu de site in uw webbrowser te openen door te typen http:// gevolgd door ofwel het IP-adres of de hostnaam.

http:// hostnaam-of-IP-adres

U kunt ook de opdracht curl gebruiken om de webpagina te testen.

$ krul

Nu zijn onze Apache-webservers klaar.

HAproxy load balancer-Frontend-server instellen

In deze sectie zullen we een HAproxy load balancer opzetten voor onze webservers. Deze HAproxy-server fungeert als frontend-server en accepteert inkomende verzoeken van clients.

Op de HAproxy server (192.168.72.157), voer de onderstaande stappen uit om load balancer in te stellen.

1. Hosts-bestand configureren

Bewerk de /etc/hosts bestand met behulp van de onderstaande opdracht in Terminal:

$ sudo nano /etc/hosts

Voeg de volgende hostnaamvermeldingen toe voor beide: Apache webservers samen met zijn eigen hostnaam:

192.168.72.157 HAproxy
192.168.72.158 webserver1
192.168.72.159 webserver2

Sla nu op en sluit de close /etc/hosts het dossier.

HAproxy load balancer installeren

In deze stap gaan we de HAproxy installeren op een van onze Ubuntu-servers (192.168.72.157). Om dit te doen, werkt u apt bij met de volgende opdracht in Terminal:

$ sudo apt-get update

Werk vervolgens de pakketten bij met de onderstaande opdracht:

$ sudo apt-get upgrade

Installeer nu HAproxy met de volgende opdracht in Terminal:

$ sudo sudo apt install haproxy

Zodra de installatie van de HAproxy-server is voltooid, kunt u deze bevestigen met het onderstaande commando in Terminal:

$ haproxy -v

Het zal u de geïnstalleerde versie van HAproxy op uw systeem laten zien die verifieert dat de HAproxy met succes is geïnstalleerd.

HAproxy configureren als load balancer

In de volgende sectie zullen we HAproxy configureren als een load balancer. Om dit te doen, bewerk de /etc/haproxy/haproxy.cfg het dossier:

$ sudo nano /etc/haproxy/haproxy.cfg

Voeg de volgende regels toe in de haproxy.cfg-bestand dat de IP-adressen vervangt door uw eigen IP-adressen.

De frontend web-frontend in de bovenstaande configuratieregels vertelt HAproxy om te luisteren naar inkomende verzoeken op poort 80 van 192.168.72.157 en stuur ze vervolgens door naar backend-servers die zijn geconfigureerd onder de backend web-backend. Vervang tijdens het configureren de IP-adressen door de relevante IP-adressen van uw webservers.

HAproxy Monitoring configureren

Met HAproxy-monitoring kunt u veel informatie bekijken, waaronder serverstatus, overgedragen gegevens, uptime, sessiesnelheid, enz. Om HAproxy-bewaking te configureren, voegt u de volgende regels toe aan het configuratiebestand op: /etc/haproxy/haproxy.cfg:

luister statistieken
binden 192.168.72.157:8080
modus http
optie doorsturenvoor
optie httpclose
statistieken inschakelen
statistieken tonen legendes
statistieken vernieuwen 5s
statistieken uri /stats
stats rijk Haproxy\ Statistieken
stats auth kbuzdar:kbuzdar            #Login Gebruiker en Wachtwoord voor de monitoring
stats beheerder indien WAAR
default_backend web-backend

De bovenstaande configuratie schakelt de HAproxy “statistieken†pagina met behulp van de statistieken richtlijn en beveiligt deze met http basisverificatie met behulp van de gebruikersnaam en het wachtwoord gedefinieerd door de statistieken auth richtlijn.

Als u klaar bent met de configuraties, slaat u de . op en sluit u deze haproxy.cfg-bestand.

Verifieer nu het configuratiebestand met behulp van de onderstaande opdracht in Terminal:

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

De volgende uitvoer laat zien dat de configuraties correct zijn:.

Om nu de configuraties toe te passen, start u de HAproxy-service opnieuw:

$ sudo systemctl herstart haproxy.onderhoud

Het stopt en start vervolgens de HAproxy-service.

Om de status van de HAproxy-service te controleren, zou de opdracht zijn:

$ sudo systemctl status haproxy.onderhoud

De actief (lopen) status in de volgende uitvoer laat zien dat de HAproxy-server is ingeschakeld en goed werkt.

Hier zijn enkele andere opdrachten voor het beheren van de HAproxy-server:

Om de HAproxy-server te starten, zou de opdracht zijn:

$ sudo systemctl start haproxy.onderhoud

Om de HAproxy-server te stoppen, zou de opdracht zijn:

$ sudo systemctl stop haproxy.onderhoud

Als u de HAproxy-server tijdelijk wilt uitschakelen, zou de opdracht zijn:

$ sudo systemctl haproxy uitschakelen.onderhoud

Om de HAproxy-server opnieuw in te schakelen, zou de opdracht zijn:

$ sudo systemctl haproxy inschakelen.onderhoud

Test HAproxy

Zorg ervoor dat u verbinding hebt met webservers voordat u de HAproxy-installatie test. Ping vanaf uw HAproxy-server beide webservers via hun IP-adressen of hostnamen.

$ ping hostnaam-of-ip-adres

De volgende uitvoer laat zien dat de HAproxy-server beide webservers kan bereiken:.

Test HA Proxy met een webbrowser

Open nu een willekeurige webbrowser in uw HAproxy-server en typ http:// gevolgd door het IP-adres van de HAproxy-server, in ons geval 192.168.72.157.

http://192.168.72.157

De HAproxy-server stuurt het verzoek als alternatief naar beide webservers in een round-robin-methode. Je kunt dit testen door de webpagina een paar keer opnieuw te laden.

Dit is het antwoord dat we ontvingen toen we de http://192 . bezochten.168.72.157 voor de eerste keer:

Dit is het antwoord dat we ontvingen toen we de webpagina opnieuw laadden:

U kunt ook de hostnaam gebruiken in plaats van het IP-adres van de HAproxy-server.

Test HA Proxy met curl

Je kunt ook het curl commando in Linux gebruiken om de HAproxy setup te testen. Open de Terminal en typ krullen gevolgd door het IP-adres of de hostnaam van de HAproxy-server.

$ krul 192.168.72.157

of

$ curl HAproxy

Voer het curl-commando een paar keer uit en je zult zien dat de reactie tussen beide webservers afwisselt.

In plaats van de opdrachten meerdere keren uit te voeren, kunt u ook het volgende éénregelige script uitvoeren om de HAproxy-server te testen:

$ terwijl waar; doe krul 192.168.72.157; slaap 1; gedaan

HAproxy-bewaking testen

Om toegang te krijgen tot de HAproxy-bewakingspagina, typt u http:// gevolgd door het IP-adres/hostnaam van de HAproxy-server en poort 8080/stats:

http://192.168.72.157:8080/statistieken

of

http://HAproxy:8080/stats

Het volgende authenticatievenster verschijnt:. Enter de gebruikersnaam en wachtwoord die u eerder in de configuraties hebt geconfigureerd en druk vervolgens op OK.

Dit is het statistiekenrapport voor onze HAproxy-server.

Daar heb je de installatie en configuratie van HAproxy load balancer op het Linux-systeem. We hebben zojuist de basisconfiguratie en configuratie van HAproxy als load balancer voor Apache-webservers besproken. We hebben ook gekeken naar enkele commando's voor het beheren van de HAproxy-server. Uiteindelijk hebben we de taakverdeling via de browser en het curl-commando getest. Ga voor meer informatie naar de officiële documentatie van HAproxy

Wijs uw muisknoppen anders toe voor verschillende software met X-Mouse Button Control
Misschien heeft u een tool nodig waarmee u de bediening van uw muis kunt veranderen bij elke applicatie die u gebruikt. Als dit het geval is, kunt u e...
Microsoft Sculpt Touch draadloze muis Review
Ik las onlangs over de Microsoft Sculpt Touch draadloze muis en besloot hem te kopen. Nadat ik het een tijdje had gebruikt, besloot ik mijn ervaring e...
AppyMouse trackpad en muisaanwijzer op het scherm voor Windows-tablets
Tabletgebruikers missen vaak de muisaanwijzer, vooral wanneer ze gewend zijn om de laptop te gebruiken. Het touchscreen Smartphones en tablets hebben ...