Koormuse tasakaalustamine on kõige levinum tava sissetuleva veebiliikluse jaotamiseks mitme taustserveri vahel. See muudab rakenduse ülimalt kättesaadavaks isegi siis, kui mõned serverid mingil põhjusel katkevad. Koormuse tasakaalustamine suurendab veebirakenduse tõhusust ja usaldusväärsust. Samal eesmärgil kasutatakse HAProxy koormuse tasakaalustajat. See on tööstuses kõige enam kasutatav koormuse tasakaalustaja. Ametliku veebisaidi kohaselt kasutavad HAProxy't juhtivad ettevõtted nagu AWS, Fedora, Github ja paljud teised.
HAProxy ehk kõrge kättesaadavusega puhverserver pakub suurt kättesaadavust ja puhverserverit. See on kirjutatud tähega C ja töötab TCP / IP mudeli võrgu- ja rakenduskihtides. Parim on see, et sellel on tasuta kogukondlik väljaanne ja see on avatud lähtekoodiga rakendus. See töötab Linuxi, FreeBSD ja Solarise operatsioonisüsteemides. Ettevõtte väljaanne on ka olemas, kuid sellel on hinnasilt.
Selles juhendis näeme HAProxy installimine ja koormuse tasakaalustamise serveri seadistamine Debian 10-sse.
Eeldused:
- "Sudo" juurdepääs kõigile masinatele ja põhiteadmised käskude käitamisest Linuxi terminalis.
- Privaatsed IP-aadressid on lisatud koormuse tasakaalustaja ja taustaprogrammi serveritesse.
- Kõigile masinatele on installitud operatsioonisüsteem Debian 10.
HAProxy installimine Debian 10-sse
Juhendi jaoks eeldame järgmist IP-aadressi konfiguratsiooni:
- HAProxy koormuse tasakaalustaja 10.0.12.10
- Veebiserver1: IP-aadress: 10.0.12.15
- Veebiserver2: IP-aadress: 10.0.12.16
Samm 1. Uuendage Debiani süsteemi hoidlat ja pakette
Kõigepealt käivitage kõikides süsteemides järgmised käsud, et värskendada tarkvarapakette uusimale.
$ sudo apt värskendus$ sudo apt upgrade -y
Samm: 2 Installige Nginx taustserveritesse
Valmistage ette oma taustserverid, installides igale Nginxi veebiserveri. Võite ka installida teisi veebiservereid, näiteks apache.
Nginxi installimiseks käivitage oma keskkonna igas tagumises serveris järgmised käsud:
$ sudo apt install nginxSamm: 3 Kui Nginx on teie tagumisserveritesse installitud, käivitage teenus, nagu allpool näidatud:
$ Sudo systemctl start nginxNIPP: Saame ka nginxi veebiserverit hallata, kasutades järgmist käsku:
$ sudo / etc / init.d / nginx "variant"variant: käivitage taaskäivitamise oleku uuesti laadimine
Samm: 4 Looge iga Nginxi veebiserveri veebikausta kohandatud registrilehed. See aitab meil eristada, milline taustserver saabuvaid päringuid teenib.
Tehke igas veebiserveris järgmised toimingud
Varundage algne indeksfail järgmise käsuga:
$ sudo cp / usr / share / nginx / html / index.html / usr / share / nginx / html / index.HTML.origLisage indeksile kohandatud tekst.HTML-fail. Lisame iga veebiserveri IP-aadressi.
Veebiserveri 1 jaoks:
$ sudo echo "Veebiserver 1: 10.0.12.15 "| sudo tee / usr / share / nginx / html / index.HTMLVeebiserveri 2 jaoks:
$ sudo echo "Veebiserver 2: 10.0.12.16 "| sudo tee / usr / share / nginx / html / index.HTMLVõite ka vi redaktorit kasutada, kui tunnete end sellega mugavamalt. See on näidatud allpool:
$ sudo vi / usr / share / nginx / html / index.HTMLKui fail on avatud, sisestage tekst ja salvestage fail.
Avage kataloogis "/ etc / nginx / sites-available /" vaikimisi virtuaalne hostifail.
$ sudo nano / etc / nginx / sites-available / defaultNüüd muutke serveriploki sees juurdirektiiviks väärtusest "/ var / www / html" väärtuseks "/ usr / share / nginx / html".
Nginxi konfiguratsiooni kontrollimiseks käivitage järgmine käsk:
$ sudo nginx -t5. samm: taaskäivitage teenus käsu abil:
$ sudo systemctl taaskäivitage nginxNginxi olekut saate kontrollida järgmise käsu abil:
$ sudo systemctl olek nginxSamm: 6 HAProxy installimiseks Debian 10-sse (Buster) käivitage koormuse tasakaalustajal järgmine käsk.
$ sudo apt install haproxy -yNäpunäide: Kui HAProxy on installitud, saate HAProxyt hallata init-skripti kaudu. Selle jaoks määrake parameetri „lubatud” väärtuseks „/ etc / default / haproxy” väärtuseks 1, nagu allpool näidatud:
$ sudo vi / etc / default / haproxyLUBATUD = 1
Nüüd saab init-skriptiga kasutada järgmist valikut:
$ sudo teenuse haproxy “variant.”variant: käivitage taaskäivitamise oleku uuesti laadimine
Samm: 7 Nüüd konfigureerige HAProxy koormuse tasakaalustaja, redigeerides haproksü vaikekonfiguratsioonifaili, s.t.e. “/ Etc / haproksü / haproksü.cfg ”. Selle faili muutmiseks käivitage järgmine käsk
$ sudo vi / etc / haproxy / haproxy.vrdNäpunäide: Varundage algne fail, et kui midagi peaks valesti minema, oleksime kõik ohutud. Varundamise tegemiseks kasutage järgmist käsku:
$ sudo cp / etc / haproxy / haproxy.cfg / etc / haproksü / haproksü.vrd.origNüüd minge faili lõppu ja muutke järgmist teavet:
esiosa Local_Serverköita 10.0.12.10:80
režiim http
default_backend veebiserver
taustaprogrammi veebiserver
režiim http
tasakaalu ringrobiin
võimalus edasi
http-request set-päis X-edastatud-port% [dst_port]
http-request add-päis X-Forwarded-Proto https, kui ssl_fc
suvand httpchk HEAD / HTTP / 1.1rnHost: kohalik host
serveri veeb1 10.0.12.15:80
serveri veeb2 10.0.12.16:80
Märge: Ärge unustage ülaltoodud failis olevaid IP-aadresse muuta oma veebiserveritesse lisatud aadressideks.
Samm: 8 Kontrollige ülaltoodud faili konfiguratsioonisüntaksit järgmise käsuga:
$ sudo haproxy -c -f / etc / haproxy / haproxy.vrdKui kõik läheb õigesti, näitab see sellist väljundit: „Konfiguratsioonifail on kehtiv.”Kui väljundis ilmneb mõni viga, kontrollige oma konfiguratsioonifaili uuesti ja kontrollige seda uuesti.
Samm: 9 Taaskäivitage muudatuste rakendamiseks HAProxy teenus
$ sudo teenuse haproxy restartKonfiguratsiooni testimine
Nüüd on aeg vaadata, kas meie seadistus töötab korralikult. Sisestage veebibrauseris koormuse tasakaalustaja süsteemi IP (meie puhul on see 10.0.12.10) ja värskendage lehte pidevalt 2–4 korda, et näha, kas HAProxy koormuse tasakaalustaja töötab korralikult. Peaksite nägema erinevaid IP-aadresse või mis tahes teksti, mille olete indeksisse sisestanud.HTML-fail, kui jätkate lehe värskendamist mitu korda.
Teine kontrollimise viis on ühe veebiserveri võrguühenduseta kasutamine ja kontrollimine, kas taotlusi teenindab mõni teine veebiserver.
Praeguseks kõik! Proovige HAProxyga katsetada, et saada lisateavet selle toimimise kohta. Näiteks e.g., võid proovida:
- Erinevate veebiserverite integreerimine nginxi kõrvale.
- Koormuse tasakaalustamise algoritmi muutmine millekski muuks kui ring-robin.
- HAProxy tervisekontrolli konfigureerimine, et teha kindlaks, kas taustserver töötab või mitte.
- Kleepuvate seansside rakendamine kasutaja ühendamiseks sama taustserveriga.
- HAProxy statistika kasutamine serverite liikluse kohta ülevaate saamiseks.
HAProxy'l on saadaval ulatuslik dokumentatsioon nii HAProxy kogukonna väljaande kui ka HAProxy ettevõtte versiooni jaoks. Tutvuge selle dokumentatsiooniga, et saada rohkem teavet oma serverikeskkonna jõudluse ja usaldusväärsuse parandamise kohta.
See juhend on edukalt läbi viidud Debian 10-s (Buster). Proovige HAProxy installida teistele Debiani põhistele distrodele nagu Ubuntu, Linux Mint jne. Ärge unustage seda juhendit teistega jagada.