HAProxy (High Ava­i­la­bi­li­ty Proxy) je pri­lju­blje­na pro­gram­ska oprema, ki se lahko uporablja kot povratni proxy in po­raz­de­lje­val­nik obre­me­ni­tve. Na Ubuntu 22.04 jo je mogoče enostavno namestiti v le nekaj korakih.

Kaj je HAProxy?

HAProxy je zmogljiva od­pr­to­ko­dna pro­gram­ska oprema, ki se lahko uporablja kot po­raz­de­lje­val­nik obre­me­ni­tve ali povratni proxy. Pogosto se uporablja za po­raz­de­li­tev prometa med več strežniki, s čimer izboljša raz­po­lo­žlji­vost in zmo­glji­vost spletnih aplikacij. HAProxy je pre­iz­ku­še­na rešitev, zlasti v visoko pri­la­go­dlji­vih in od­por­no­stnih ar­hi­tek­tu­rah.

Zaradi visoke učin­ko­vi­to­sti lahko HAProxy obdeluje na tisoče zahtevkov na sekundo, ne da bi pri tem preveč obremenil sistemske vire. Pro­gram­ska oprema podpira različne metode po­raz­de­li­tve obre­me­ni­tve, kot so »round robin«, »least con­nec­ti­on« in »source IP hashing«. Ponuja tudi funkcije, kot so za­klju­če­va­nje SSL-povezav, pre­ver­ja­nje delovanja in »sticky sessions«, ki omogočajo optimalno upra­vlja­nje po­dat­kov­ne­ga prometa. Druga prednost je zmožnost pre­u­smer­ja­nja prometa na podlagi določenih pravil ali podatkov v glavah sporočil.

HAProxy se uporablja v številnih velikih podjetjih in v oblačnih okoljih. Na­sta­vi­tev poteka prek preproste, a pri­la­go­dlji­ve kon­fi­gu­ra­cij­ske datoteke, ki omogoča podrobno pri­la­ga­ja­nje vašim potrebam.

Kako korak za korakom namestiti HAProxy na Ubuntu 22.04

Korak 1: Po­so­do­bi­te sistem

Preden začnete z na­me­sti­tvi­jo, se pre­pri­čaj­te, da je vaša di­s­tri­bu­ci­ja Linuxa po­so­do­blje­na. S tem boste za­go­to­vi­li, da so vsi paketi naj­no­vej­ši in da so bile od­pra­vlje­ne morebitne varnostne ran­lji­vo­sti. Za to odprite terminal in izvedite naslednje ukaze:

sudo apt update && sudo apt upgrade -y
bash

Ta zaporedje ukazov najprej posodobi seznam paketov, da ugotovi naj­no­vej­še različice nameščene pro­gram­ske opreme. Nato se vsi obstoječi paketi po­so­do­bi­jo na naj­no­vej­še raz­po­lo­žlji­ve različice. Parameter -y za­go­ta­vlja, da se vse po­so­do­bi­tve samodejno potrdijo.

Korak 2: Na­me­sti­tev HAProxyja

Ko je sistem po­so­do­bljen, lahko HAProxy namestite z na­sle­dnjim ukazom:

sudo apt install haproxy -y
bash

Ta ukaz prenese HAProxy iz uradnih virov paketov Ubuntu in namesti program. Na­me­sti­tev je običajno hitra, saj je HAProxy lahek program. Ko je na­me­sti­tev končana, lahko uspešnost na­me­sti­tve HAProxy preverite z izvedbo na­sle­dnje­ga ukaza:

haproxy -v
bash

Na zaslonu naj se prikaže nameščena različica HAProxyja.

Image: Screenshot of the current HAProxy version in the terminal
After you have executed the command, the currently installed version of HAProxy will be displayed.

Korak 3: Vklopite in zaženite storitev HAProxy

Po na­me­sti­tvi morate preveriti, ali storitev HAProxy deluje. Najprej zaženite HAProxy kot skrbnik z na­sle­dnjim ukazom:

sudo systemctl start haproxy
bash

Uporabite ta ukaz, da preverite, ali se je storitev uspešno zagnal:

sudo systemctl status haproxy
bash

Če HAProxy deluje, naj bi izpis izgledal približno takole:

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

Da se HAProxy samodejno zažene tudi po ponovnem zagonu sistema, storitev vklopite z na­sle­dnjim ukazom:

sudo systemctl enable haproxy
bash

Korak 4: Nastavite HAProxy

HAProxy se nastavi prek kon­fi­gu­ra­cij­ske datoteke /etc/haproxy/haproxy.cfg. Pred kakršnimi koli spre­mem­ba­mi je pri­po­ro­člji­vo narediti varnostno kopijo izvirne datoteke:

sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.backup
bash
Note

Z izdelavo kopije izvirne datoteke si za­go­to­vi­te, da se lahko kadarkoli vrnete v delovno stanje. Na ta način lahko spremembe izvajate z manj tveganjem.

Če želite urediti izvirno datoteko, jo odprite v be­se­dil­nem ure­je­val­ni­ku po vaši izbiri, na primer v nano ali Vim. V našem primeru bomo uporabili nano:

sudo nano /etc/haproxy/haproxy.cfg
bash

Preprosta kon­fi­gu­ra­ci­ja za po­raz­de­li­tev obre­me­ni­tve bi lahko izgledala takole:

frontend http_front
	bind *:80
	default_backend web_servers
backend web_servers
	balance roundrobin
	server web1 192.168.1.10:80 check
	server web2 192.168.1.11:80 check

V primeru po­raz­de­lje­val­ni­ka obre­me­ni­tve se vhodni HTTP-promet na vratih 80 porazdeli med dva strežnika v ozadju („web1“ in „web2“). Obre­me­ni­tev se porazdeli po načelu krožnega izbora, tako da se zahtevki izmenično po­sre­du­je­jo stre­žni­ko­ma.

Korak 5: Ponovni zagon in preizkus HAProxyja

Po spremembi na­sta­vi­tev je treba HAProxy ponovno zagnati, da spremembe začnejo veljati. To storite z na­sle­dnjim ukazom v terminalu:

sudo systemctl restart haproxy
bash

Če pride do napak, lahko s spodnjim ukazom preverite, ali v kon­fi­gu­ra­cij­ski datoteki HAProxy obstajajo sin­tak­tič­ne napake:

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

Pravilno na­sta­vi­tev potrdi izhod Configuration file is valid. Zdaj lahko preverite, ali HAProxy deluje, kot je bilo pred­vi­de­no, tako da v brskalnik vnesete javni IP-naslov ali domensko ime vašega strežnika.

Go to Main Menu