Mes sukonfigūravome tris mašinas. „HAproxy“ įdiegsime viename serveryje, o „Apache“ - dviejuose serveriuose. Tada mūsų „HAproxy“ serveris veiks kaip apkrovos balansatorius ir paskirstys apkrovą tarp „Apache“ žiniatinklio serverių.
Pastaba: Išbandyta šiame įraše minima procedūra ir komandos „Ubuntu 20“.04 LTS („Focal Fossa“). Ta pati procedūra galioja ir „Debian“ bei „Mint“ paskirstymams.
Tinklo informacija
Mes naudosime tris „Ubuntu“ serverius; visi tame pačiame tinkle. Informacija apie mūsų serverius yra tokia:
Prieglobos pavadinimas: HAproxy, IP adresas: 192.168.72.157 („Frontend“ serveris)Pagrindinio kompiuterio pavadinimas: „web-server1“, IP adresas: 192.168.72.158 (vidiniai serveriai)
Pagrindinio kompiuterio pavadinimas: „web-server2“, IP adresas: 192.168.72.159 (vidiniai serveriai)
Pastaba: Visuose serveriuose turite turėti „sudo“ privilegijas.
Konfigūruosime vieną mašiną kaip apkrovos balansavimo priemonę, o kitas dvi - kaip interneto serverius. HAproxy serveris bus mūsų išorinis serveris, kuris gaus vartotojų užklausas ir persiųs jas dviem žiniatinklio serveriams. Žiniatinklio serveriai bus mūsų „Backend“ serveriai, kurie gaus persiųstas užklausas.
Štai kaip atrodo mūsų sąranka:
Tinklo serverių nustatymas - „Backend“ serveriai
Šiame skyriuje mes sukonfigūruosime du žiniatinklio serverius (interneto serveris1 ir interneto serveris2) kaip mūsų serveriai.
Žiniatinklio serveryje1 (192.168.72.158)
Atlikite toliau nurodytus veiksmus savo žiniatinklio serveryje. Įsitikinkite, kad pagrindinio kompiuterio ir IP adresai pakeisti atitinkamais jūsų interneto serverių IP adresais ir pagrindiniais pavadinimais.
1. Konfigūruoti pagrindinio kompiuterio failą
Įjungta interneto serveris1, redaguoti / etc / hosts failas:
$ sudo nano / etc / hostsTada pridėkite pagrindinio kompiuterio pavadinimą HAproxy serverio taip:
„HAproxy“ pagrindinio kompiuterio pavadinimas. „HAproxy“ IP adresasMūsų scenarijuje tai būtų:
HAproxy 192.168.72.1572. Nustatykite „Apache“ tinklo serverį
Dabar įdiekite „Apache“ žiniatinklio serverį naudodami žemiau esančią komandą „Terminal“. Taip pat galite apsilankyti mūsų įraše Kaip įdiegti „Apache“ tinklo serverį į „Linux“.
$ sudo apt install apache2Tada įjunkite ir paleiskite „Apache“ paslaugą naudodami žemiau esančias komandas „Terminal“:
$ sudo systemctl įgalinti apache2$ sudo systemctl start apache2
Sukurkite indekso failą interneto serveris1 naudodami žemiau esančią komandą terminale:
$ echo "Sveiki! Tai yra tinklo serveris1: 192.168.72.158
"| sudo tee / var / www / html / index.HTMLJei jūsų sistemoje veikia užkarda, turėsite leisti „Apache“ srautą per ją:
$ sudo ufw leisti 80 / tcpTada iš naujo įkelkite užkardos konfigūracijas:
$ ufw perkrautiDabar pabandykite pasiekti svetainę savo žiniatinklio naršyklėje įvesdami tekstą http: // po kurio nurodomas jūsų interneto serverio IP adresas arba pagrindinio kompiuterio vardas.
http: // pagrindinio kompiuterio vardas arba IP adresas
Arba galite naudoti komandą „curl“, kad patikrintumėte tinklalapį.
$ garbanosTinklo serveryje-2 192.168.72.159)
Antrame žiniatinklio serveryje atlikite toliau nurodytus veiksmus. Įsitikinkite, kad pagrindinio kompiuterio ir IP adresai pakeisti atitinkamais jūsų interneto serverių IP adresais ir pagrindiniais pavadinimais.
1. Konfigūruokite pagrindinio kompiuterio failą
Į interneto serveris2, redaguoti / etc / hosts failas:
$ sudo nano / etc / hostsTada pridėkite pagrindinio kompiuterio pavadinimą HAproxy serverio taip:
HAproxy 192.168.72.1572. Įdiekite „Apache“ tinklo serverį
Dabar įdiekite „Apache“ žiniatinklio serverį naudodami žemiau esančią komandą „Terminal“.
$ sudo apt install apache2Tada įjunkite ir paleiskite „Apache“ paslaugą naudodami žemiau esančias komandas „Terminal“:
$ sudo systemctl įgalinti apache2$ sudo systemctl start apache2
Sukurkite „web-server2“ indekso failą naudodami žemiau esančią komandą „Terminal“:
$ echo "Sveiki! Tai yra webserver2: 192.168.72.159
"| sudo tee / var / www / html / index.HTMLLeisti „Apache“ užkardoje:
$ sudo ufw leisti 80 / tcpir tada iš naujo įkelkite užkardos konfigūracijas:
$ ufw perkrautiDabar pabandykite pasiekti svetainę savo žiniatinklio naršyklėje įvesdami tekstą http: // po kurio nurodomas IP adresas arba pagrindinio kompiuterio vardas.
http: // pagrindinio kompiuterio vardas arba IP adresas
Arba galite naudoti „curl“ komandą, kad išbandytumėte tinklalapį.
$ garbanosDabar mūsų „Apache“ tinklo serveriai yra paruošti.
„HAproxy“ apkrovos balansavimo „Frontend“ serverio nustatymas
Šiame skyriuje mes sukursime HAproxy apkrovos balansavimo priemonę interneto serveriai. Šis HAproxy serveris veiks kaip išorinis serveris ir priims gaunamas klientų užklausas.
Ant HAproxy serveris (192.168.72.157), atlikite toliau nurodytus veiksmus, kad nustatytumėte apkrovos balansavimo priemonę.
1. Konfigūruokite pagrindinio kompiuterio failą
Redaguokite / etc / hosts failą naudodami žemiau esančią komandą terminale:
$ sudo nano / etc / hostsPridėkite šiuos abiejų kompiuterių vardų įrašus Apache žiniatinklio serveriai kartu su savo pagrindinio kompiuterio vardu:
192.168.72.157 HAproksi192.168.72.158 interneto serveris1
192.168.72.159 interneto serveris2
Dabar išsaugokite ir uždarykite / etc / hosts failą.
HAproxy apkrovos balansavimo įrengimas
Dabar šiame žingsnyje mes įdiegsime „HAproxy“ viename iš mūsų „Ubuntu“ serverio (192.168.72.157). Norėdami tai padaryti, atnaujinkite apt naudodami šią komandą terminale:
$ sudo apt-get atnaujinimasTada atnaujinkite paketus naudodami šią komandą:
$ sudo apt-get atnaujinimasDabar įdiekite „HAproxy“ naudodami šią komandą terminale:
$ sudo sudo apt įdiegti haproksiją
Baigę „HAproxy“ serverio diegimą, galite tai patvirtinti naudodami žemiau esančią komandą „Terminal“:
$ haproksi -vTai parodys jūsų sistemoje įdiegtą „HAproxy“ versiją, kuri patikrins, ar „HAproxy“ sėkmingai įdiegta.
„HAproxy“ konfigūravimas kaip apkrovos balansavimo priemonė
Kitame skyriuje sukonfigūruosime „HAproxy“ kaip apkrovos balansavimo priemonę. Norėdami tai padaryti, redaguoti / etc / haproxy / haproxy.plg failas:
$ sudo nano / etc / haproksi / haproksi.plgPridėkite šias eilutes haproksijoje.cfg failas, pakeičiantis IP adresus jūsų pačių IP adresais.
The frontend web-frontend aukščiau pateiktose konfigūracijos eilutėse liepia „HAproxy“ klausytis gaunamų užklausų uoste 80 apie 192.168.72.157 tada persiųskite juos į serverius, sukonfigūruotus pagal backend interneto backend. Konfigūruodami pakeiskite IP adresus atitinkamais interneto serverių IP adresais.
„HAproxy Monitoring“ konfigūravimas
Naudodamiesi „HAproxy“ stebėjimu, galite peržiūrėti daug informacijos, įskaitant serverio būseną, perduotus duomenis, veikimo laiką, sesijos greitį ir kt. Norėdami sukonfigūruoti HAproxy stebėjimą, pridėkite šias eilutes konfigūracijos faile, esančiame / etc / haproksi / haproksi.plg:
klausytis statistikossusieti 192.168.72.157: 8080
režimas http
variantas į priekį
parinktis httpclose
statistika įgalina
statistika rodo legendas
statistika atnaujina 5s
statistika uri / statistika
statistikos sritis Haproxy \ Statistics
stats auth kbuzdar: kbuzdar # Prisijunkite prie vartotojo ir stebėjimo slaptažodžio
statistikos administratorius, jei TIESA
„default_backend“ žiniatinklio užsklanda
Aukščiau pateikta konfigūracija įgalina „HAproxy“statistikaâ € “puslapis naudojant statistika direktyvą ir ją užtikrina http pagrindinis autentifikavimas naudojant vartotojo vardą ir slaptažodį, nustatytą statistika autent direktyvą.
Baigę konfigūracijas, išsaugokite ir uždarykite haproksija.CFG failas.
Dabar patikrinkite konfigūracijos failą naudodami žemiau esančią komandą „Terminal“:
$ haproksi -c -f / etc / haproksi / haproksi.plgŠis išvestis rodo, kad konfigūracijos yra teisingos.
Dabar, norėdami pritaikyti konfigūracijas, iš naujo paleiskite „HAproxy“ paslaugą:
$ sudo systemctl paleiskite haproksi.paslaugąJis bus sustabdytas ir tada bus paleista „HAproxy“ paslauga.
Norėdami patikrinti „HAproxy“ paslaugos būseną, komanda bus tokia:
$ sudo systemctl būsena haproksija.paslaugąThe aktyvus (veikia) būsena kitame išvestyje rodo, kad HAproxy serveris yra įjungtas ir veikia gerai.
Štai keletas kitų komandų, skirtų „HAproxy“ serveriui valdyti:
Norint paleisti HAproxy serverį, komanda būtų tokia:
$ sudo systemctl pradėti haproksiją.paslaugąNorėdami sustabdyti „HAproxy“ serverį, komanda bus tokia:
$ sudo systemctl sustabdyti haproksi.paslaugąJei norite laikinai išjungti „HAproxy“ serverį, komanda bus tokia:
$ sudo systemctl išjungti haproksi.paslaugąNorėdami iš naujo įgalinti „HAproxy“ serverį, komanda bus tokia:
$ sudo systemctl įgalina haproksi.paslaugąIšbandykite HAproxy
Prieš išbandydami „HAproxy“ sąranką, įsitikinkite, kad turite ryšį su interneto serveriais. Iš „HAproxy“ serverio abu interneto serverius pinguokite pagal jų IP adresus arba pagrindinio kompiuterio vardus.
$ ping hostname-or-ip-addressŠis išvestis rodo, kad HAproxy serveris gali pasiekti abu žiniatinklio serverius.
Išbandykite „HA Proxy“ naudodami žiniatinklio naršyklę
Dabar „HAproxy“ serveryje atidarykite bet kurią žiniatinklio naršyklę ir įveskite http: // po kurio nurodomas HAproxy serverio IP adresas, kuris mūsų atveju yra 192.168.72.157.
http: // 192.168.72.157„HAproxy“ serveris taip pat išsiųs užklausą abiem žiniatinklio serveriams „round-robin“ metodu. Tai galite išbandyti kelis kartus įkėlę tinklalapį.
Tai atsakymas, kurį gavome aplankę http: // 192.168.72.157 pirmą kartą:
Tai yra atsakymas, kurį gavome įkėlę tinklalapį:
Vietoje „HAproxy“ serverio IP adreso taip pat galite naudoti pagrindinio kompiuterio pavadinimą.
Išbandykite HA tarpinį serverį naudodamiesi garbanomis
Taip pat galite naudoti „curl“ komandą sistemoje „Linux“, kad išbandytumėte „HAproxy“ sąranką. Atidarykite terminalą ir įveskite garbanoti po kurio nurodomas IP adresas arba „HAproxy“ serverio kompiuterio vardas.
$ curl 192.168.72.157arba
$ curl HAproxyKelis kartus paleiskite garbanos komandą ir pamatysite, kaip atsakymas keičiasi abiejuose žiniatinklio serveriuose.
Užuot paleidę komandas kelis kartus, taip pat galite paleisti šį vienos eilutės scenarijų, norėdami išbandyti HAproxy serverį:
$ o tiesa; padaryti garbaną 192.168.72.157; miegoti 1; padaryta
HAproxy Monitoring testavimas
Norėdami pasiekti „HAproxy“ stebėjimo puslapį, įveskite http: // po kurio nurodomas „HAproxy“ serverio IP adresas / prieglobos pavadinimas ir 8080 prievadas / statistika:
http: // 192.168.72.157: 8080 / statistikaarba
http: // HAproxy: 8080 / statistikaBus parodytas toks autentifikavimo langelis. Įveskite vartotojo vardą ir Slaptažodis konfigūravote anksčiau konfigūracijose, tada paspauskite Gerai.
Tai yra mūsų HAproxy serverio statistikos ataskaita.
Čia turite įdiegti ir konfigūruoti „HAproxy“ apkrovos balansavimo priemonę „Linux“ sistemoje. Ką tik aptarėme pagrindinį „HAproxy“ nustatymą kaip „Apache“ žiniatinklio serverių apkrovos balansavimo priemonę. Mes taip pat išnagrinėjome keletą HAproxy serverio valdymo komandų. Galų gale mes išbandėme apkrovos balansavimą per naršyklę ir curl komandą. Norėdami gauti daugiau informacijos, apsilankykite oficialiuose „HAproxy“ dokumentuose