HAProxy ir jaudīga atvērtā koda programma, kas nodrošina slodzes iz­lī­dzi­nā­ša­nu un star­pniek­ser­ve­ra kon­fi­gu­rā­ci­ju TCP un HTTP protokolu lie­to­jum­prog­ram­mām. To var instalēt Debian 12 sistēmā, veicot tikai dažus soļus, un to bieži izmanto augstas pie­eja­mī­bas sistēmās, lai efektīvi sadalītu pie­pra­sī­ju­mus, tādējādi uzlabojot lie­to­jum­prog­ram­mu sta­bi­li­tā­ti un veikt­spē­ju.

Kas ir HAProxy?

HAProxy (High Avai­la­bi­lity Proxy) ir augstas veikt­spē­jas un uzticams slodzes iz­lī­dzi­nā­tājs un ap­griez­tais star­pniek­ser­ve­ris, ko izmanto tīkla un lie­to­jum­prog­ram­mu dat­plūs­mas sadalei. Attiecībā uz slodzes iz­lī­dzi­nā­ša­nu šī lie­to­jum­prog­ram­ma atbalsta gan OSI modeļa 4. slāni (trans­por­ta slāni, piemēram, TCP), gan 7. slāni (lie­to­jum­prog­ram­mu slāni, piemēram, HTTP). Pa­tei­co­ties zemai latencei, augstai efek­ti­vi­tā­tei un plašajām kon­fi­gu­rā­ci­jas iespējām, HAProxy ir piemērots uz­ņē­mu­miem jebkura lieluma.

Uzņēmumi un iz­strā­dā­tā­ji izmanto HAProxy, lai iz­lī­dzi­nā­tu slodzi starp vairākiem aiz­mu­gu­res serveriem, novērstu serveru darbības pār­trau­ku­mus un uzlabotu lie­to­jum­prog­ram­mu kopējo veikt­spē­ju. Šai prog­ram­ma­tū­rai ir galvenā loma daudzās tīmekļa in­fras­truk­tū­rās, jo īpaši augstas pie­eja­mī­bas un mē­ro­go­ja­mās lie­to­jum­prog­ram­mās. Tās galvenās funkcijas ietver SSL/TLS pār­trauk­ša­nu, aiz­mu­gu­res serveru darbības pārbaudes, datu plūsmas ie­ro­be­žo­ša­nu un DDoS aiz­sar­dzī­bas me­hā­nis­mus.

Kā soli pa solim instalēt HAProxy Debian sistēmā

1. solis: At­jau­ni­niet sistēmu

Pirms HAProxy in­sta­lē­ša­nas ieteicams at­jau­ni­nāt savu Linux dis­tri­bu­tī­vu. Tas nodrošina, ka visi pakotnes ir at­jau­ni­nā­tas un in­sta­lē­ša­na norit bez problēmām.

Šī komanda atjaunina prog­ram­ma­tū­ras sarakstus un instalē visus pieejamos at­jau­ni­nā­ju­mus Debian 12:

sudo apt update && sudo apt upgrade -y
bash

2. solis: HAProxy in­sta­lē­ša­na

Debian 12 ofi­ciā­la­jos pakotņu avotos ir iekļauts HAProxy, tāpēc to var viegli instalēt, iz­man­to­jot iebūvēto pakotņu pār­val­dnie­ku apt.

sudo apt install haproxy -y
bash

Šī komanda le­ju­pie­lā­dē un instalē HAProxy kopā ar visām ne­pie­cie­ša­ma­jām at­ka­rī­ga­jām prog­ram­mām.

3. solis: Pār­bau­diet HAProxy versiju

Pēc in­sta­lē­ša­nas jā­pār­bau­da, vai HAProxy ir veiksmīgi instalēts. To var izdarīt, no­skaid­ro­jot in­sta­lē­tās HAProxy versijas numuru:

haproxy -v
bash

Re­zul­tā­tam vajadzētu iz­ska­tī­ties aptuveni šādi:

Image: 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.

Tas nodrošina, ka HAProxy ir pareizi instalēts.

4. solis: HAProxy ie­sta­tī­ša­na kā pa­kal­po­jums

Lai HAProxy au­to­mā­tis­ki palaistos sistēmas sākšanas brīdī un darboties ne­pār­trauk­ti, pa­kal­po­jums ir jā­ak­ti­vi­zē un jāpalaiž.

sudo systemctl enable haproxy
sudo systemctl start haproxy
bash

Vis­bei­dzot, lai pār­bau­dī­tu, vai pa­kal­po­jums darbojas pareizi, var izmantot šādu komandu:

sudo systemctl status haproxy
bash

Ja HAProxy darbojas pareizi, jums vajadzētu redzēt aktīvu (dar­bo­jo­šos) izvadi, kas izskatās aptuveni šādi:

Image: 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. solis: HAProxy pamata kon­fi­gu­rā­ci­ja

HAProxy kon­fi­gu­rā­ci­jas fails atrodas /etc/haproxy/haproxy.cfg. Pirms veikt jebkādas izmaiņas, ieteicams izveidot rezerves kopiju, uz kuru varēsiet paļauties kļūdu gadījumā:

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

Tagad vari rediģēt failu ar sev tīkamāko teksta redaktoru (piemēram, Vim vai nano):

sudo nano /etc/haproxy/haproxy.cfg
bash

Vienkārša HAProxy kon­fi­gu­rā­ci­ja varētu iz­ska­tī­ties šādi:

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

Šī kon­fi­gu­rā­ci­ja sadala HTTP pie­pra­sī­ju­mus starp diviem tīmekļa serveriem pēc „round-robin“ principa. Tā ir sadalīta vairākās sadaļās. Pirmkārt, ir globālā sadaļa, kurā definēti HAProxy pa­mat­pa­ra­met­ri. Piemēram, šajā sadaļā norādīts lietotāja konts, ar kuru darbojas HAProxy, atļauto vien­lai­cī­go sa­vie­no­ju­mu skaits un žurnālu gla­bā­ša­nas vieta. Var arī definēt chroot di­rek­to­ri­ju, lai HAProxy darbotos ie­ro­be­žo­tā vidē un tādējādi pa­lie­li­nā­tu drošību.

Pēc vis­pā­rē­jiem ie­sta­tī­ju­miem seko defaults sadaļa, kurā tiek definētas no­klu­sē­ju­ma vērtības visām turp­mā­ka­jām kon­fi­gu­rā­ci­jām. Piemēram, šajā sadaļā ir norādīts, ka HAProxy darbojas HTTP režīmā un ir ieslēgta HTTP žurnālu re­ģis­trē­ša­na. Turklāt tiek definēti dažādi laika ie­ro­be­žo­ju­mi.

Kon­fi­gu­rā­ci­jas faila pārējās sadaļas, piemēram, frontend un backend, regulē faktisko datu plūsmu. Sadaļa „frontend“ nosaka, uz kuriem portiem HAProxy pieņem pie­pra­sī­ju­mus un kā tie tiek pārsūtīti. Savukārt sadaļa „backend“ definē serverus, uz kuriem datu plūsma tiek pārsūtīta. Šeit var izmantot slodzes iz­lī­dzi­nā­ša­nas al­go­ritmus.

Pēc re­di­ģē­ša­nas failu ir jāglabā un jā­pār­star­tē HAProxy:

sudo systemctl restart haproxy
bash

HAProxy in­sta­lē­ša­na Debian 12 sistēmā ir pabeigta. Kon­fi­gu­rā­ci­ju var jebkurā brīdī pielāgot, veicot izmaiņas kon­fi­gu­rā­ci­jas failā.

Go to Main Menu