HAProxy (High Avai­la­bi­lity Proxy) ir populāra prog­ram­ma­tū­ra, ko var izmantot kā apgriezto star­pniek­ser­ve­ri un slodzes iz­lī­dzi­nā­tā­ju. To var viegli instalēt Ubuntu 22.04, veicot tikai dažus soļus.

Kas ir HAProxy?

HAProxy ir jaudīga atvērtā koda prog­ram­ma­tū­ra, ko var izmantot kā slodzes iz­lī­dzi­nā­tā­ju vai apgriezto star­pniek­ser­ve­ri. To bieži izmanto, lai sadalītu datu plūsmu starp vairākiem serveriem un tādējādi uzlabotu tīmekļa lie­to­jum­prog­ram­mu pie­eja­mī­bu un veikt­spē­ju. HAProxy ir pie­rā­dī­jis savu efek­ti­vi­tā­ti, jo īpaši ļoti mē­ro­go­ja­mās un kļūdu izturīgās ar­hi­tek­tū­rās.

Pa­tei­co­ties augstajai efek­ti­vi­tā­tei, HAProxy spēj apstrādāt tūk­sto­šiem pie­pra­sī­ju­mu sekundē, neradot lielu slodzi sistēmas resursiem. Prog­ram­ma­tū­ra atbalsta dažādas slodzes iz­lī­dzi­nā­ša­nas metodes, piemēram, „round robin“, „least connec­tion“ un avota IP hašēšanu. Tā piedāvā arī tādas funkcijas kā SSL pār­trauk­ša­na, darbības pārbaudes un „sticky sessions“, lai optimāli kon­tro­lē­tu datu plūsmu. Vēl viena priekš­ro­cī­ba ir spēja pārsūtīt datu plūsmu, pa­ma­to­jo­ties uz kon­krē­tiem no­tei­ku­miem vai galvenes in­for­mā­ci­ju.

HAProxy tiek izmantots daudzos lielos uzņēmumos un mākoņvidē. Kon­fi­gu­rē­ša­na notiek, iz­man­to­jot vienkāršu, bet elastīgu kon­fi­gu­rā­ci­jas failu, kas ļauj veikt de­ta­li­zē­tu pie­lā­go­ša­nu jūsu va­ja­dzī­bām.

Kā soli pa solim instalēt HAProxy Ubuntu 22.04

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

Pirms sākat in­sta­lē­ša­nu, pār­lie­ci­nie­ties, ka jūsu Linux dis­tri­bū­ci­ja ir at­jau­ni­nā­ta. Tas no­dro­ši­nās, ka visi pakotnes ir jaunākās versijas un ka ie­spē­ja­mās drošības ne­pil­nī­bas ir novērstas. Lai to izdarītu, atveriet termināli un izpildiet šādas komandas:

sudo apt update && sudo apt upgrade -y
bash

Šī komandu secība vispirms atjaunina pakotņu sarakstu, lai noteiktu in­sta­lē­tās prog­ram­ma­tū­ras jaunākās versijas. Pēc tam visas esošās pakotnes tiek at­jau­ni­nā­tas līdz jau­nā­ka­jām pie­eja­ma­jām versijām. Parametrs -y nodrošina, ka visi at­jau­ni­nā­ju­mi tiek au­to­mā­tis­ki ap­stip­ri­nā­ti.

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

Pēc sistēmas at­jau­ni­nā­ša­nas varat instalēt HAProxy, iz­man­to­jot šādu komandu:

sudo apt install haproxy -y
bash

Šī komanda le­ju­pie­lā­dē HAProxy no ofi­ciā­la­jiem Ubuntu pakotņu avotiem un instalē programmu. In­sta­lē­ša­na parasti notiek ātri, jo HAProxy ir viegls rīks. Kad in­sta­lē­ša­na ir pabeigta, varat pār­lie­ci­nā­ties, ka HAProxy ir veiksmīgi instalēts, izpildot šādu komandu:

haproxy -v
bash

Rezultātā jāparādās uz­stā­dī­ta­jai HAProxy versijai.

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.

3. solis: Ak­ti­vi­zē­jiet un palaidiet HAProxy pa­kal­po­ju­mu

Pēc in­sta­lē­ša­nas ir jā­pār­lie­ci­nās, ka HAProxy pa­kal­po­jums darbojas. Vispirms kā ad­mi­nis­tra­tors palaidiet HAProxy, iz­man­to­jot šādu komandu:

sudo systemctl start haproxy
bash

Iz­man­to­jiet šo komandu, lai pār­bau­dī­tu, vai pa­kal­po­jums ir veiksmīgi palaists:

sudo systemctl status haproxy
bash

Ja HAProxy darbojas, izvadei vajadzētu iz­ska­tī­ties aptuveni šādi:

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.

Lai no­dro­ši­nā­tu, ka HAProxy pēc sistēmas pār­star­tē­ša­nas sākas au­to­mā­tis­ki, ak­ti­vi­zē­jiet pa­kal­po­ju­mu, iz­man­to­jot:

sudo systemctl enable haproxy
bash

4. solis: HAProxy kon­fi­gu­rē­ša­na

HAProxy tiek kon­fi­gu­rēts, iz­man­to­jot kon­fi­gu­rā­ci­jas failu /etc/haproxy/haproxy.cfg. Pirms izmaiņu veikšanas ieteicams izveidot sākotnējā faila dublējumu:

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

Veicot oriģinālā faila dublikātu, jūs no­dro­ši­nāt, ka jebkurā brīdī varat at­griez­ties pie darba stāvokļa. Tādējādi izmaiņas var veikt ar nelielu risku.

Lai rediģētu sākotnējo failu, atveriet to ar jebkuru teks­tre­dak­to­ru, piemēram, nano vai Vim. Šajā piemērā iz­man­to­sim nano:

sudo nano /etc/haproxy/haproxy.cfg
bash

Vienkārša slodzes iz­lī­dzi­nā­ša­nas kon­fi­gu­rā­ci­ja varētu iz­ska­tī­ties šādi:

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

Šajā slodzes iz­lī­dzi­nā­tā­ja piemērā ienākošā HTTP datplūsma 80. portā tiek sadalīta starp diviem aiz­mu­gu­res serveriem („web1” un „web2”). Slodze tiek sadalīta pēc „round-robin” principa, tādējādi pie­pra­sī­ju­mi tiek nosūtīti uz serveriem pārmaiņus.

5. solis: Pār­star­tē­jiet un pār­bau­diet HAProxy

Pēc kon­fi­gu­rā­ci­jas izmaiņām HAProxy ir jā­pār­star­tē, lai izmaiņas stātos spēkā. To var izdarīt, iz­man­to­jot šādu termināļa komandu:

sudo systemctl restart haproxy
bash

Ja rodas kļūdas, varat pārbaudīt HAProxy kon­fi­gu­rā­ci­jas failu, lai atrastu sintakses kļūdas, iz­man­to­jot šo komandu:

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

Pareizu kon­fi­gu­rā­ci­ju ap­stip­ri­na izvade Configuration file is valid. Tagad varat pārbaudīt, vai HAProxy darbojas kā paredzēts, pār­lūkprog­ram­mā ievadot sava servera publisko IP adresi vai domēna vārdu.

Go to Main Menu