HAProxy, som står for High Availability Proxy, er en gratis, open source softwareløsning, der giver en pålidelig, højtydende load balancer og proxyserver til TCP- og HTTP-baserede applikationer. Det bruges almindeligvis til at forbedre ydeevnen og pålideligheden af webapplikationer ved at distribuere indgående trafik på tværs af flere servere.
I denne vejledning viser vi dig, hvordan du installerer HAProxy på Ubuntu 22.04.
Trin 1 – Opsætning af backend-servere
Før du starter, skal du konfigurere Apache på begge backend-servere.
Log ind på begge dine servere og installer Apache-pakken ved hjælp af følgende kommando.
apt-get install apache2 -y
Når Apache-pakken er installeret, skal du oprette en index.html-fil eller redigere den nuværende på begge webservere.
Åben terminal på begge servere og skriv følgende:
cd /var/www/html/
Herefter med nedenstående kommand
sudo nano index.html
Når rettelserne er færdig, kan man f.eks. teste index.html-filen ved at skrive følgende kommando, for at se om der kommer et output.
echo "<h1>This is my first Apache Server</h1>" | tee /var/www/html/index.html
echo "<h1>This is my second Apache Server</h1>" | tee /var/www/html/index.html
Alternativt skriv nedenstående i en browser:
<ip-adresse:80>
<ip-adresse:80>
Trin 2 – Installer HAProxy
Som standard er HAProxy-pakken inkluderet i Ubuntus standardlager. Du kan installere det ved at bruge følgende kommando:
apt-get install haproxy -y
Next, check the installed version to verify that HAProxy is installed correctly.
haproxy -v
Du bør se et output, der viser HAProxy-versionen.
HAProxy version 2.4.24-0ubuntu0.22.04.1 2023/10/31 - https://haproxy.org/
Derefter skal du starte og aktivere HAProxy-tjenesten.
systemctl start haproxy
systemctl enable haproxy
Trin 3 – Konfigurer HAProxy
Rediger HAProxy-konfigurationsfilen for at opsætte en grundlæggende konfiguration. Standardkonfigurationsfilen er placeret i /etc/haproxy/haproxy.cfg.
nano /etc/haproxy/haproxy.cfg
Tilføj følgende linjer:
frontend haproxy-main
bind *:80
option forwardfor
default_backend apache_webservers
backend apache_webservers
balance roundrobin
server websvr1 192.168.1.10:80 check
server websvr2 192.168.1.11:80 check
- Frontend-sektionen definerer, hvor HAProxy lytter efter indgående trafik (port 80 i dette tilfælde).
- Backend-sektionen specificerer de servere, som trafikken skal distribueres til.
Bemærk: Erstattet 192.168.1.10 og 192.168.1.11 med IP-adressen på dine backend Apache-webservere.
Trin 4 – Konfigurer HAProxy-godkendelse
For at konfigurere godkendelse for HAProxy-statistiksiden på port 8800 og konfigurere en backend til dine Apache-webservere, kan du bruge følgende konfiguration. Dette eksempel inkluderer lyttesektionen til statistiksiden med grundlæggende godkendelse og en backend-sektion til dine Apache-servere.
Rediger filen haproxy.cfg.
nano /etc/haproxy/haproxy.cfg
Tilføj følgende linjer:
listen stats
bind :8800
stats enable
stats uri /
stats hide-version
stats auth admin:password
default_backend apache_webservers
Gem og luk filen, og genstart derefter HAProxy-tjenesten for at anvende ændringerne.
systemctl restart haproxy
Bekræft nu status for HAProxy ved hjælp af kommandoen nedenfor:
systemctl status haproxy
Output:
● haproxy.service - HAProxy Load Balancer
Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2024-05-25 12:32:27 IST; 9s ago
Docs: man:haproxy(1)
file:/usr/share/doc/haproxy/configuration.txt.gz
Process: 44208 ExecStartPre=/usr/sbin/haproxy -Ws -f $CONFIG -c -q $EXTRAOPTS (code=exited, status=0/SUCCESS)
Main PID: 44210 (haproxy)
Tasks: 5 (limit: 9188)
Memory: 70.0M
CPU: 78ms
CGroup: /system.slice/haproxy.service
├─44210 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
└─44212 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -S /run/haproxy-master.sock
May 25 12:32:27 ubuntupc systemd[1]: Starting HAProxy Load Balancer...
May 25 12:32:27 ubuntupc haproxy[44210]: [NOTICE] (44210) : New worker #1 (44212) forked
May 25 12:32:27 ubuntupc systemd[1]: Started HAProxy Load Balancer.
Trin 5 – Test HAProxy
Åbn en webbrowser, og naviger til din servers IP-adresse http://your-haproxy-ip.Du bør være i stand til at se Apache-siden, hvis dine backend-servere er konfigureret korrekt.
For at se HAProxy-statistikker skal du navigere til http://din_haproxy_ip:8080/ og logge på med de legitimationsoplysninger, der er defineret i konfigurationsfilen (admin:adgangskode i dette eksempel).
Konklusion
HAProxy er et kraftfuldt og fleksibelt værktøj til belastningsbalancering og forbedring af tilgængeligheden og ydeevnen af webapplikationer og tjenester. Dens brede vifte af funktioner og konfigurationer gør den velegnet til forskellige anvendelsestilfælde, fra simpel belastningsbalancering til komplekse routing- og trafikstyringsopgaver. Du kan nu implementere HAProxy på dedikeret serverhosting fra Atlantic.Net! at load balance din webserver.