A HAProxy egy hatékony nyílt forráskódú szoftver, amely terheléselosztást és proxy konfigurációt tesz lehetővé TCP- és HTTP-alapú alkalmazások számára. Néhány lépésben telepíthető a Debian 12 rendszerre, és gyakran használják nagy rendelkezésre állású rendszerekben a kérések hatékony elosztására, javítva ezzel az alkalmazások stabilitását és teljesítményét.

Mi az a HAProxy?

A HAProxy (High Availability Proxy) egy nagy teljesítményű és megbízható terheléselosztó és fordított proxy, amelyet hálózati és alkalmazásforgalom elosztására használnak. Az alkalmazás a terheléselosztás tekintetében az OSI-modell 4. rétegét (transzportréteg, pl. TCP) és 7. rétegét (alkalmazásréteg, pl. HTTP) is támogatja. Alacsony késleltetési ideje, nagy hatékonysága és átfogó konfigurációs lehetőségei miatt a HAProxy minden méretű vállalat számára alkalmas.

A vállalatok és a fejlesztők a HAProxy-t használják a terhelés több háttérszerver közötti kiegyensúlyozására, a szerverleállások megakadályozására és az alkalmazások általános teljesítményének javítására. A szoftver központi szerepet játszik számos webes infrastruktúrában, különösen a nagy rendelkezésre állású és skálázható alkalmazásokban. Főbb jellemzői közé tartozik az SSL/TLS-terminálás, a háttérszerverek állapotának ellenőrzése, a sebességkorlátozás és a DDoS-védelem mechanizmusai.

Hogyan telepítsük a HAProxy-t Debianre lépésről lépésre

1. lépés: Frissítse a rendszert

A HAProxy telepítése előtt frissítse Linux disztribúcióját. Ezzel biztosítja, hogy minden csomag naprakész legyen, és a telepítés zökkenőmentesen zajlódjon.

Az alábbi parancs frissíti a csomaglistákat és telepíti az összes elérhető frissítést a Debian 12 rendszerhez:

sudo apt update && sudo apt upgrade -y
bash

2. lépés: Telepítse a HAProxy-t

A Debian 12 hivatalos csomagforrásai között megtalálható a HAProxy, így a beépített csomagkezelő, az apt segítségével könnyen telepíthető.

sudo apt install haproxy -y
bash

Ez a parancs letölti és telepíti a HAProxy-t az összes szükséges függőséggel együtt.

3. lépés: Ellenőrizze a HAProxy verzióját

A telepítés után ellenőriznie kell, hogy a HAProxy sikeresen települt-e. Ehhez meg kell nézni a HAProxy telepített verzióját:

haproxy -v
bash

A kimenetnek körülbelül így kell kinéznie:

Kép: Screenshot of the current HAProxy version in the terminal
After you run the command, the currently installed version of HAProxy will be displayed in your terminal.

Ez biztosítja, hogy a HAProxy helyesen lett telepítve.

4. lépés: Engedélyezze a HAProxy szolgáltatást

Ahhoz, hogy a HAProxy automatikusan elinduljon a rendszer indításakor és folyamatosan futjon, a szolgáltatást engedélyezni és elindítani kell.

sudo systemctl enable haproxy
sudo systemctl start haproxy
bash

Végül, hogy ellenőrizze, hogy a szolgáltatás sikeresen fut-e, a következő parancsot használhatja:

sudo systemctl status haproxy
bash

Ha a HAProxy megfelelően működik, akkor egy aktív (futó) kimenetet kell látnia, amely körülbelül így néz ki:

Kép: Screenshot of the current HAProxy status in the terminal
You can see in the terminal output that HAProxy is now working without problems from the status ‘active (running)’.

5. lépés: A HAProxy alapvető konfigurálása

A HAProxy konfigurációs fájl /etc/haproxy/haproxy.cfg. mappában található. Bármilyen változtatás előtt célszerű biztonsági másolatot készíteni, amelyre hiba esetén vissza lehet térni:

sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
bash

Most már szerkesztheti a fájlt egy ön által választott szerkesztővel (például Vim vagy nano):

sudo nano /etc/haproxy/haproxy.cfg
bash

Egy egyszerű HAProxy konfiguráció így nézhet ki:

global
	log /dev/log local0
	log /dev/log local1 notice
	chroot /var/lib/haproxy
	stats socket /run/haproxy/admin.sock mode 660 level admin
	stats timeout 30s
	user haproxy
	group haproxy
	daemon
defaults
	log global
	option httplog
	option dontlognull
	timeout connect 5000ms
	timeout client 50000ms
	timeout server 50000ms
frontend http_front
	bind *:80
	default_backend web_servers
backend web_servers
	balance roundrobin
	server server1 192.168.1.10:80 check
	server server2 192.168.1.11:80 check
txt

Ez a konfiguráció körkörös módszerrel osztja el a HTTP-kérelmeket két webszerver között. Több szakaszra oszlik. Először is van a globális szakasz, amely meghatározza a HAProxy alapvető beállításait. Ez a szakasz például meghatározza a HAProxy futtatásához használt felhasználói fiókot, az egyidejűleg megengedett kapcsolatok számát és a naplófájlok tárolási helyét. Meg lehet határozni egy chroot könyvtárat is, hogy a HAProxy korlátozott környezetben fusson, és így növelje a biztonságot.

A globális beállításokat követi a defaults szakasz, ahol az összes későbbi konfiguráció alapértelmezett értékei vannak meghatározva. Például ez a szakasz meghatározza, hogy a HAProxy HTTP módban működik, és a HTTP naplózás engedélyezve van. Különböző időkorlátok is meghatározásra kerülnek.

A konfigurációs fájl többi szakasza, például frontend és backend, a tényleges adatforgalmat szabályozza. Az elülső szakasz meghatározza, hogy a HAProxy mely portokon fogadja a kéréseket, és hogyan továbbítja azokat. A háttérszakasz pedig meghatározza azokat a kiszolgálókat, amelyekhez a forgalom továbbításra kerül. Itt terheléselosztó algoritmusok használhatók.

A szerkesztés után el kell mentenie a fájlt, és újra kell indítania a HAProxy-t:

sudo systemctl restart haproxy
bash

A HAProxy telepítése a Debian 12 rendszeren ezzel befejeződött. A konfiguráció bármikor módosítható a konfigurációs fájl megváltoztatásával.

Ugrás a főmenübe