„HaProxy“ naudoja populiarios svetainės, tokios kaip „Tumblr“, „GitHub“ ir „StackOverflow“. Šiame vadove paaiškinsime, kaip įdiegti HAProxy žiniatinklio serverių, kurie maitinami naudojant Nginx, sąranką.
Laboratorijos sąranka
3 CentOS 7 serverių atvejai, kaip parodyta
Prieglobos serverio pavadinimas IP adresai
load_balancer 3.17.12.132
serveris_01 3.19.229.234
serveris_02 3.17.9.217
1 veiksmas: redaguokite /etc/hosts failą apkrovos balansavimui
Norėdami pradėti, prisijunkite prie apkrovos balansavimo sistemos ir pakeiskite failą /etc/hosts, kad įtrauktumėte dviejų žiniatinklio serverių pagrindinius pavadinimus ir IP adresus, kaip parodyta.
$ nes / ir tt / šeimininkai
3.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 failą su apkrovos balansavimo priemonės IP adresu ir pagrindinio kompiuterio pavadinimu
3.17.12.132 apkrovos balansavimo priemonėPo to patvirtinkite , kad galite siųsti apkrovos balansavimo priemonę iš serverio_01
Taip pat iš serverio_02
Be to, įsitikinkite, kad galite ping serveriams iš apkrovos balansavimo priemonės.
Puikus ! visi serveriai gali susisiekti su apkrovos balansavimo priemone!
2 veiksmas: įdiekite ir sukonfigūruokite HA tarpinį serverį apkrovos balansavimo priemonėje
Kadangi HA tarpinis serveris yra lengvai pasiekiamas iš oficialios CentOS saugyklos, ketiname jį įdiegti naudodami yum arba dnf paketų tvarkyklę.
Tačiau, kaip visada, pirmiausia atnaujinkite sistemą
# yum atnaujinimasTada įdiekite HA tarpinį serverį, kaip parodyta
# yum įdiegti haproxySėkmingai įdiegę eikite į haproxy katalogą.
# cd / ir tt / haproxyGeriausia praktika reikalauja, kad prieš atlikdami pakeitimus sukurtume atsarginę konfigūracijos failo kopiją. Taigi kurkite atsarginę kopiją haproxy.cfg failą pervardydami.
# mv haproxy.cfg haproxy.cfg.bakTada tęskite ir atidarykite konfigūracijos failą
nes haproxy.cfgĮsitikinkite, kad atlikote pakeitimus, kaip parodyta
#-------------------------------------------------- --------------------# Visuotiniai nustatymai
#-------------------------------------------------- --------------------
globalus
log 127.0.0.1 vietinis2 #Žurnalo konfigūracija
chroot / buvo / lib / haproxy
pidfile / buvo / paleisti / haproxy.pid
maxconn 4000
naudotojas haproxy #Haproxy veikia pagal vartotojo ir grupės 'haproxy'
grupės haproxy
demonas
# įjunkite statistikos unix lizdą
statistikos lizdas / buvo / lib / haproxy / statistika
#-------------------------------------------------- --------------------
# bendri numatytieji nustatymai, kuriuos turės visos „klausymo“ ir „galinės dalies“ skiltys
# naudoti, jei nenurodyta jų bloke
#-------------------------------------------------- --------------------
numatytieji
režimas http
žurnalas globalus
parinktis httplog
parinktis dontlognull
parinktis http-server-close
parinktis persiųsti , išskyrus 127.0.0.0 / 8
galimybė persiuntimas
pakartotinai 3
timeout http-request 10s
skirtojo laiko eilė 1m
timeout connect 10s
timeout klientas 1 min
serverio skirtasis laikas 1 min
timeout http-keep-alive 10s
pasibaigusio laiko patikrinimas 10 sek
maxconn 3000
#-------------------------------------------------- --------------------
#HAProxy stebėjimo konfig
#-------------------------------------------------- --------------------
klausytis haproxy3 stebėjimo * : 8080 #Haproxy Monitoring veikia 8080 prievade
režimas http
variantas į priekį
parinktis http uždaryti
statistika įjungti
statistika rodo legendas
statistika atnaujinama 5s
statistika uri / statistika #URL skirtas HAProxy stebėjimui
statistikos sritis Haproxy\ Statistics
stats auth Slaptažodis123: Slaptažodis123 #Vartotojas ir slaptažodis prisijungimui prie stebėjimo prietaisų skydelio
statistikos administratorius jeigu TIESA
default_backend app-main #Tai pasirinktinai skirta foninei sistemai stebėti
#-------------------------------------------------- --------------------
# FrontEnd konfigūracija
#-------------------------------------------------- --------------------
frontend pagrindinis
įpareigoti * : 80
parinktis http-server-close
variantas į priekį
default_backend app-main
#-------------------------------------------------- --------------------
# BackEnd round robin kaip balanso algoritmas
#-------------------------------------------------- --------------------
backend app-main
balansas roundrobin #Balanso algoritmas
parinktis httpchk HEAD / HTTP / 1.1 \r\nHost:\ localhost
#Patikrinkite, ar serverio programa veikia ir veikia – 200 būsenos kodas
serverio serveris_01 3.19.229.234: 80 patikrinti #Nginx1
serverio serveris_02 3.17.9.217: 80 patikrinti #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ą.
# nes / ir tt / rsyslog.confĮsitikinkite, kad panaikinote toliau pateiktų eilučių komentarus, kad būtų galima prisijungti prie UDP
$ModLoad imudp$UDPServerRun 514
Tada tęskite ir sukurkite naują konfigūracijos failą haproxy.conf
# nes / ir tt / rsyslog.d / haproxy.confĮklijuokite šias eilutes, išsaugokite ir išeikite
vietinis2.=informacija / buvo / žurnalas / haproxy-access.log #Prieigos žurnalasvietinis2.pranešimas / buvo / žurnalas / haproxy-info.log #Informacijai apie paslaugą – Backend, loadbalancer
Kad pakeitimai įsigaliotų, iš naujo paleiskite rsyslog demoną, kaip parodyta:
# systemctl iš naujo paleiskite rsyslogTada paleiskite ir įjunkite HAProxy
# systemctl paleisti rsyslog# systemctl įgalinti rsyslogą
Patikrinkite, ar veikia HAProxy
# systemctl būsena rsyslog3 veiksmas: įdiekite ir sukonfigūruokite „Nginx“.
Dabar liko tik „Nginx“ diegimas. Prisijunkite prie kiekvieno serverio ir pirmiausia atnaujinkite sistemos paketus:
# yum atnaujinimasKitas diegimas EPEL (papildomi paketai, skirti Enterprise Linux)
# yum įdiegti šiltas išleidimasNorėdami įdiegti „Nginx“, paleiskite komandą:
# yum įdiegti nginxTada paleiskite ir įgalinkite „Nginx“.
# systemctl paleisti nginx# systemctl įgalinti nginx
Tada abiem atvejais pakeisime failą index.html, kad parodytume arba imituotume, kaip apkrovos balansavimo priemonė gali paskirstyti žiniatinklio srautą abiejuose serveriuose.
Serveriui_01
# aidas 'serveris_01. Sveiki! Sveiki atvykę į pirmąjį žiniatinklio serverį' > index.htmlServeriui_02
# aidas 'serveris_02. Sveiki! Sveiki atvykę į antrąjį žiniatinklio serverį' > index.htmlKad pakeitimai būtų atlikti, iš naujo paleiskite „Nginx“.
# systemctl iš naujo paleiskite nginx4 veiksmas: patikrinkite, ar veikia apkrovos balansavimo priemonė
Pagaliau esame toje vietoje, kur norime pamatyti, ar konfigūracija veikia. Taigi prisijunkite prie apkrovos balansavimo priemonės ir pakartotinai vykdykite curl komandą
# garbanė 3.17.12.132Turėtumėte gauti kintamą išvestį terminale, rodančią index.html reikšmę iš serverio_01 ir serverio_02
Dabar išbandykime naudodami žiniatinklio naršyklę. Naršykite apkrovos balansavimo priemonės IP adresą
http: // apkrovos balansavimo IP adresasPirmame puslapyje bus rodomas bet kurio žiniatinklio serverio turinys
Dabar atnaujinkite tinklalapį ir patikrinkite, ar jame rodomas turinys iš kito žiniatinklio serverio
Puikus ! Apkrovos balansas vienodai paskirsto IP srautą tarp dviejų žiniatinklio serverių!
Tai baigia šią pamoką, kaip įdiegti ir konfigūruoti HAProxy CentOS 8. Bus labai dėkingi už jūsų atsiliepimus.