Kaip žingsnis po žingsnio įdiegti HAProxy „Debian“ sistemoje
„HAProxy“ – tai galinga atvirojo kodo programinė įranga, leidžianti užtikrinti apkrovos balansavimą ir proxy konfigūraciją TCP bei HTTP protokolais veikiančioms programoms. Ji įdiegiama „Debian 12“ sistemoje vos per kelis žingsnius ir dažnai naudojama aukšto patikimumo sistemose, siekiant efektyviai paskirstyti užklausas, taip padidinant programų stabilumą ir našumą.
Kas yra HAProxy?
HAProxy (High Availability Proxy) – tai našus ir patikimas apkrovos paskirstymo įrenginys bei atvirkštinis proxy, skirtas tinklo ir programų srautams paskirstyti. Ši programa, vykdydama apkrovos paskirstymą, palaiko tiek OSI modelio 4-ąjį lygį (transporto lygį, pvz., TCP), tiek 7-ąjį lygį (taikomosios programos lygį, pvz., HTTP). Dėl mažos latentinės trukmės, didelio efektyvumo ir išsamių konfigūracijos parinkčių HAProxy tinka įvairių dydžių įmonėms.
Įmonės ir programuotojai naudoja „HAProxy“, kad paskirstytų apkrovą tarp kelių užpakalinių serverių, užkirstų kelią serverių gedimams ir pagerintų bendrą programos našumą. Ši programinė įranga atlieka pagrindinį vaidmenį daugelyje interneto infrastruktūrų, ypač aukšto patikimumo ir mastelio keitimo galimybes turinčiose programose. Jos pagrindinės funkcijos apima SSL/TLS ryšio užbaigimą, užpakalinių serverių veikimo patikrinimus, srauto ribojimą ir DDoS atakų apsaugos mechanizmus.
Kaip žingsnis po žingsnio įdiegti HAProxy „Debian“ sistemoje
1 žingsnis: Atnaujinkite sistemą
Prieš diegdami „HAProxy“, turėtumėte atnaujinti savo „Linux“ distribuciją. Tai užtikrins, kad visi paketai būtų naujausi ir kad diegimas vyktų sklandžiai.
Ši komanda atnaujina paketų sąrašus ir įdiegia visus galimus „Debian 12“ atnaujinimus:
sudo apt update && sudo apt upgrade -ybash2 žingsnis: įdiekite HAProxy
„Debian 12“ oficialiuose paketų šaltiniuose yra įtrauktas „HAProxy“, todėl jį įdiegti naudojant įdiegtą paketų tvarkyklę „apt“ yra paprasta.
sudo apt install haproxy -ybashŠi komanda atsisiunčia ir įdiegia „HAProxy“ su visomis reikalingomis priklausomybėmis.
3 žingsnis: Patikrinkite „HAProxy“ versiją
Įdiegus programą, reikėtų patikrinti, ar „HAProxy“ buvo įdiegta sėkmingai. Tai galima padaryti patikrinus įdiegtą „HAProxy“ versiją:
haproxy -vbashRezultatas turėtų atrodyti maždaug taip:

Tai užtikrina, kad „HAProxy“ buvo įdiegta teisingai.
4 žingsnis: Įjunkite „HAProxy“ kaip paslaugą
Kad HAProxy paleistųsi automatiškai paleidus sistemą ir veiktų nuolat, paslauga turi būti įjungta ir paleista.
sudo systemctl enable haproxy
sudo systemctl start haproxybashGaliausiai, norint patikrinti, ar paslauga veikia tinkamai, galima naudoti šią komandą:
sudo systemctl status haproxybashJei „HAProxy“ veikia tinkamai, turėtumėte matyti aktyvų (veikiantį) išvesties srautą, kuris atrodo maždaug taip:

5 žingsnis: Pagrindinis „HAProxy“ konfigūravimas
HAProxy konfigūracijos failas yra /etc/haproxy/haproxy.cfg kataloge. Prieš darant bet kokius pakeitimus, patartina sukurti atsarginę kopiją, kuria galėsite pasinaudoti, jei įvyktų klaidų:
sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bakbashDabar galite redaguoti failą pasirinktu redaktoriumi (pavyzdžiui, „Vim“ ar „nano“):
sudo nano /etc/haproxy/haproxy.cfgbashPaprasta „HAProxy“ konfigūracija galėtų atrodyti taip:
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 checktxtŠi konfigūracija HTTP užklausas paskirsto tarp dviejų žiniatinklio serverių pagal „round-robin“ principą. Ji suskirstyta į keletą skyrių. Pirmiausia yra bendrasis skyrius, kuriame apibrėžti pagrindiniai HAProxy nustatymai. Pavyzdžiui, šiame skyriuje nurodoma vartotojo paskyra, kuria veikia HAProxy, leidžiamų vienu metu veikiančių ryšių skaičius ir žurnalų saugojimo vieta. Taip pat galima nustatyti „chroot“ katalogą, kad HAProxy veiktų ribotoje aplinkoje ir taip būtų padidintas saugumas.
Po bendrųjų nustatymų eina defaults skyrius, kuriame apibrėžiamos visų tolesnių konfigūracijų numatytosios reikšmės. Pavyzdžiui, šiame skyriuje nurodyta, kad „HAProxy“ veikia HTTP režimu ir įjungtas HTTP žurnalavimas. Taip pat apibrėžti įvairūs laiko limitai.
Kiti konfigūracijos failo skyriai, pavyzdžiui, frontend ir backend, valdo faktinį duomenų srautą. Skyriuje „frontend“ nurodoma, per kuriuos prievadus „HAProxy“ priima užklausas ir kaip jos persiunčiamos. Skyriuje „backend“ apibrėžiami serveriai, į kuriuos persiunčiamas srautas. Čia galima naudoti apkrovos balansavimo algoritmus.
Baigę redaguoti, turite išsaugoti failą ir iš naujo paleisti HAProxy:
sudo systemctl restart haproxybashHAProxy įdiegimas „Debian 12“ sistemoje baigtas. Konfigūraciją galima bet kada pakoreguoti, pakeičiant konfigūracijos failą.