„HaProxy“ naudoja populiarios svetainės, tokios kaip „Tumblr“, „GitHub“ ir „StackOverflow“. Šiame vadove mes padėsime jums įdiegti „HAProxy“ žiniatinklio serverių, kurie maitinami naudojant „Nginx“, sąranką.
Laboratorijos sąranka
3 „CentOS 7“ serverių egzemplioriai, kaip parodyta
Pagrindinio kompiuterio pavadinimo IP adresai3.17.12.132
server_01 3.19.229.234
server_02 3.17.9.217
1 žingsnis: Redaguokite apkrovos balansavimo priemonės failą / etc / hosts
Norėdami pradėti, prisijunkite prie apkrovos balansavimo sistemos ir modifikuokite failą / etc / hosts, kad įtrauktumėte dviejų žiniatinklio serverių prieglobos pavadinimus ir IP adresus, kaip parodyta
$ vim / etc / hosts3.19.229.234 serveris_01
3.17.9.217 serveris-02
Baigę išsaugokite pakeitimus ir išeikite iš konfigūracijos failo.
Dabar eikite į kiekvieną žiniatinklio serverį ir atnaujinkite / etc / hosts failas su apkrovos balanserio IP adresu ir pagrindinio kompiuterio pavadinimu
3.17.12.132 krūvio balansuotojasPo to patvirtinkite, kad galite pinguoti apkrovos balansavimo priemonę iš server_01
Taip pat iš serverio_02
Taip pat įsitikinkite, kad galite pinguoti serverius iš apkrovos balansavimo priemonės.
Puikus ! visi serveriai gali bendrauti su apkrovos balansuotoju!
2 veiksmas: įdiekite ir sukonfigūruokite HA proxy apkrovos balanseryje
Kadangi „HA Proxy“ galima lengvai rasti oficialioje „CentOS“ saugykloje, ketiname jį įdiegti naudodami „yum“ arba „dnf“ paketų tvarkyklę.
Bet kaip visada, pirmiausia atnaujinkite sistemą
# yum atnaujinimasTada įdiekite „HA Proxy“, kaip parodyta
# yum įdiegti haproksi
Sėkmingai įdiegę, eikite į haproksi katalogą.
# cd / etc / haproksiGeriausia praktika reikalauja, kad prieš atlikdami bet kokius pakeitimus sukurtume atsarginę konfigūracijos failo kopiją. Taigi sukurkite atsarginę kopiją haproksija.plg failą pervadindami.
# mv haproksija.cfg haproksija.plg.bakTada tęskite ir atidarykite konfigūracijos failą
vim haproksija.plgĮsitikinkite, kad modifikavote, kaip parodyta
#---------------------------------------------------------------------# Visuotiniai nustatymai
#---------------------------------------------------------------------
globalus
žurnalas 127.0.0.1 local2 #Log konfigūracija
chroot / var / lib / haproksi
pidfile / var / run / haproksi.pid
„maxconn 4000“
vartotojas haproxy #Haproxy veikia pagal vartotoją ir grupę "haproxy"
grupės haproksija
deimonas
# įjungti statistikos unix lizdą
statistikos lizdas / var / lib / haproxy / stats
#---------------------------------------------------------------------
# bendrieji numatytieji nustatymai, kuriuos atliks visos „klausytis“ ir „užpakalinės“ skiltys
# naudoti, jei nenurodyta jų bloke
#---------------------------------------------------------------------
nutylėjimą
režimas http
žurnalas globalus
parinktis httplog
variantas dontlognull
parinktis http-server-close
pasirinkimo sandoris, išskyrus 127.0.0.0/8
parinkties persiuntimas
pakartoti 3
skirtasis laikas „http-request 10s“
skirtojo laiko eilė 1m
skirtasis laikas prisijungti 10 sekundžių
skirtasis laikas klientas 1m
skirtasis laikas 1 m
skirtasis laikas „http-keep-alive 10s“
skirtasis laikas patikrinti 10s
„maxconn 3000“
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
klausytis haproxy3-monitoringo *: 8080 #Haproxy Monitoring vykdomas 8080 prievade
režimas http
variantas į priekį
parinktis httpclose
statistika įgalina
statistika rodo legendas
statistika atnaujina 5s
statistika uri / statistika #URL, skirta HAProxy stebėjimui
statistikos sritis Haproxy \ Statistics
stats auth Slaptažodis123: Slaptažodis123 # Vartotojas ir slaptažodis, skirti prisijungti prie stebėjimo prietaisų skydelio
statistikos administratorius, jei TIESA
default_backend app-main # Tai pasirenkama stebint vidinę programą
#---------------------------------------------------------------------
# „FrontEnd“ konfigūracija
#---------------------------------------------------------------------
frontend pagrindinis
surišti *: 80
parinktis http-server-close
variantas į priekį
default_backend app-main
#---------------------------------------------------------------------
# „BackEnd round robin“ kaip balanso algoritmas
#---------------------------------------------------------------------
„backend app-main“
balanso roundrobino #Balance algoritmas
parinktis httpchk HEAD / HTTP / 1.1 \ r \ nVedėjas: \ localhost
#Patikrinkite, ar serverio programa yra atnaujinta, ir - 200 būsenos kodo
serverio serveris_01 3.19.229.234: 80 patikrinkite # Nginx1
serverio serveris_02 3.17.9.217: 80 patikrinkite # Nginx2
Būtinai pakeiskite žiniatinklio serverių pagrindinio kompiuterio pavadinimą ir IP adresus, kaip nurodyta paskutinėse dviejose eilutėse. Išsaugokite pakeitimus ir išeikite.
Kitas žingsnis bus sukonfigūruoti „Rsyslog“, kad būtų galima registruoti „HAProxy“ statistiką.
# vim / etc / rsyslog.konfĮsitikinkite, kad atžymėjote toliau pateiktas eilutes, kad leistumėte UDP ryšius
$ ModLoad imudp$ UDPServerRun 514
Tada tęskite ir sukurkite naują konfigūracijos failą haproksija.konf
# vim / etc / rsyslog.d / haproksija.konfĮklijuokite šias eilutes, išsaugokite ir išeikite
vietinis2.= info / var / log / haproxy-access.žurnalas #Prieigos žurnaluivietinis2.pranešimas / var / log / haproksi-info.žurnalas #For Service Information - Backend, loadbalancer
Kad pakeitimai įsigaliotų, iš naujo paleiskite „rsyslog“ demoną, kaip parodyta:
# systemctl paleiskite rsyslog iš naujoTada paleiskite ir įjunkite „HAProxy“
# systemctl paleisti rsyslog# systemctl įjungti rsyslog
Patikrinkite, ar veikia „HAProxy“
# systemctl būsenos rsyslog
3 žingsnis: įdiekite ir sukonfigūruokite „Nginx“
Dabar lieka tik „Nginx“ diegimas. Prisijunkite prie kiekvieno serverio ir pirmiausia atnaujinkite sistemos paketus:
# yum atnaujinimasKitas įdiegti EPEL („Enterprise Linux“ papildomi paketai)
# yum install epel-releaseNorėdami įdiegti „Nginx“, paleiskite komandą:
# yum įdiegti „nginx“Tada paleiskite ir įgalinkite „Nginx“
# systemctl pradėti nginx# systemctl įgalinti „nginx“
Tada ketiname modifikuoti indeksą.HTML failas abiem atvejais, siekiant parodyti ar imituoti, kaip apkrovos balansuotojas sugeba paskirstyti žiniatinklio srautą abiejuose serveriuose.
Serveriui_01
# echo "serveris_01. Ei ! Sveiki atvykę į pirmąjį žiniatinklio serverio "> indeksą.HTMLServer_02
# echo "serveris_02. Ei ! Sveiki atvykę į antrąjį žiniatinklio serverio indeksą.HTMLNorėdami atlikti pakeitimus, paleiskite „Nginx“ iš naujo
# systemctl paleiskite iš naujo „nginx“4 žingsnis: patikrinkite, ar veikia apkrovos balanseris
Pagaliau esame toje vietoje, kur norime pamatyti, ar veikia konfigūracija. Taigi prisijunkite prie apkrovos balanserio ir pakartotinai vykdykite garbanojimo komandą
# garbanos 3.17.12.132Terminale turėtumėte gauti kintamą išvestį, rodančią indekso vertę.HTML iš serverio_01 ir serverio_02
Dabar išbandykime naudodami žiniatinklio naršyklę. Naršykite apkrovos balanserio IP adresą
http: // apkrovos balanseris-IP adresasPirmajame puslapyje bus rodomas turinys iš bet kurio žiniatinklio serverio
Dabar atnaujinkite tinklalapį ir patikrinkite, ar jame rodomas kito žiniatinklio serverio turinys
Puikus ! Apkrovos balansas paskirsto IP srautą vienodai tarp dviejų žiniatinklio serverių !
Tai užbaigia šią pamoką, kaip galite įdiegti ir konfigūruoti „HAProxy“ sistemoje „CentOS 8“. Jūsų atsiliepimai bus labai dėkingi.