HAProxy 1.7 diegimas Debian 9.1 (Stretch)

HAProxy yra tinklo programinės įrangos programa, kuri siūlo aukštą pasiekiamumą, apkrovos balansavimą ir tarpinį serverį TCP ir HTTP tinklo programoms. Jis tinka didelio srauto svetainėms ir veikia daugelyje populiarių svetainių visame žiniatinklyje. Šiame straipsnyje bus parodyta, kaip įdiegti ir konfigūruoti HAProxy Debian 9.1.

Nors HAProxy turi keletą svarbių funkcijų, šiame straipsnyje dėmesys sutelkiamas į tai, kaip nustatyti HAProxy, kad ji „įgaliotų“ jūsų žiniatinklio programą.

Reikalavimai

  • Bent du „Vultr“ serveriai (apkrovos balansavimo funkcijai) su jūsų svetaine arba žiniatinklio programa, įdiegta abiejuose.

HAProxy diegimas

„Debian 9“ jau pristatomas su HAProxy 1.7 (naujausia stabili versija rašymo metu), ir mes galime ją tiesiog įdiegti naudodami apt-get:

# apt-get update
# apt-get install haproxy

Jei ankstesnės komandos buvo sėkmingos, tada įdiegėte HAProxy ir galite pereiti prie kito veiksmo.

HAProxy konfigūravimas

HAProxy konfigūracijos failas yra padalintas į dvi dalis - "global" ir "proxy". Viena susijusi su viso proceso konfigūracija, o pastaroji susideda iš numatytosios konfigūracijos, priekinės ir užpakalinės dalies sekcijos.

Pasaulinis skyrius

Naudodami mėgstamą teksto rengyklę atidarykite /etc/haproxy/haproxy.cfgir pastebėkite iš anksto nustatytas dalis: „globalus“ ir „numatytieji“. Pirmas dalykas, kurį galbūt norėsite padaryti, yra padidinti maxconniki tinkamo dydžio, nes tai turi įtakos jungtims, kurias leidžia HAProxy. Dėl per daug ryšių gali sugesti žiniatinklio paslauga dėl daugybės užklausų. Turėsite pakoreguoti dydį, kad pamatytumėte, kas jums tinka. Pasaulinėje skiltyje pasirinkome maxconnreikšmę 3072.

global
    daemon
    maxconn 3072

Numatytojoje skiltyje režimas pridėkite šią eilutę http:

option forwardfor

Taip X-Forwarded-Forprie kiekvienos užklausos bus pridėtos antraštės, kurios leis jūsų užpakaliniams serveriams sužinoti pradinį vartotojo IP adresą.

Be to, pridėkite šią eilutę, kad įgalintumėte HTTP ryšio uždarymo režimą serverio pusėje, o kliento pusėje išlaikytumėte HTTP palaikymą. Tai sumažina delsą kliento pusėje ir padeda taupyti serverio išteklius:

option http-server-close

Jei norite naudoti „Keep-alive“ ir kliento, ir serverio pusėse, galite naudoti option http-keep-alivevietoj to. Ši parinktis ypač naudinga, kai naujo ryšio su serveriu užmezgimo išlaidos yra didelės, palyginti su prašomo resurso gavimo išlaidomis.

Galiausiai gautas konfigūracijos failas atrodys maždaug taip:

defaults
    mode http
    option forwardfor
    option http-server-close
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

Įgaliotųjų serverių skyrius

Norėdami nustatyti tarpinį serverį, prie konfigūracijos failo turėsite pridėti dvi dalis, kad apibrėžtumėte dvi tarpinio serverio dalis: priekinę ir galinę.

Frontend konfigūracija

Frontend tvarkys jūsų HTTP ryšius. haproxy.cfgFailo pabaigoje pridėkite :

frontend http-frontend
    bind public_ip:80
    reqadd X-Forwarded-Proto:\ http
    default_backend wwwbackend

Būtinai pakeiskite public_ipsavo serverio viešuoju IP adresu arba domeno pavadinimu.

Backend konfigūracija

Nustatykite užpakalinę programą, pridėdami šias eilutes prie konfigūracijos failo pabaigos:

backend wwwbackend
    server 1-www server1_ip:80 check
    server 2-www server2_ip:80 check
    server 3-www server3_ip:80 check

Čia naudojama backend konfigūracija sukuria 3 ryšius pavadinimu X-www. ( Xyra 1, 2 arba 3.) Kiekvienas iš jų atitinka serverX_ip:80 adresą. (Pakeiskite serverX_ipsavo Vultr egzempliorių IP adresais.) Tai leis jums suderinti apkrovos balansą tarp kiekvieno nurodyto serverio rinkinio serverio (darant prielaidą, kad kiekvienas IP adresas atitinka skirtingą serverį). Ši checkparinktis priverčia apkrovos balansavimo priemonę atlikti serverio būklės patikrinimus.

Išsaugokite konfigūracijos failą ir iš naujo paleiskite HAProxy:

service haproxy restart

Jei viskas veikia, galėsite prisijungti prie http://public_ip/(pakeisdami jį viešuoju IP arba domeno pavadinimu, kaip sukonfigūruota priekinės dalies veiksme) ir peržiūrėti savo svetainę.

Derinimo klaidos

Jei jūsų HAProxy egzempliorius atsisako paleisti po pakeitimų, tikėtina, kad kažkur konfigūracijos faile yra klaida. Norėdami gauti aiškius pranešimus apie problemą konfigūracijos faile, galite pabandyti paleisti HAProxy rankiniu būdu naudodami šią komandą:

# haproxy -f /etc/haproxy/haproxy.cfg

Pavyzdžiui, jei matote tokią išvestį:

[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.

Tada pamiršote nurodyti serverio prievado numerį 1-www.

Palikti komentarą

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį