HaProxy koriste popularne stranice kao što su Tumblr, GitHub i StackOverflow. U ovom vodiču provest ćemo vas kroz instalaciju HAProxyja u postavkama web poslužitelja koji se pokreću pomoću Nginxa.
Postavljanje laboratorija
3 instance CentOS 7 poslužitelja kao što je prikazano
Naziv glavnog računala IP adrese
balanser opterećenja 3.17.12.132
server_01 3.19.229.234
server_02 3.17.9.217
Korak 1: Uredite datoteku /etc/hosts za balanser opterećenja
Za početak, prijavite se u sustav za balansiranje opterećenja i modificirajte datoteku /etc/hosts tako da uključuje nazive hostova i IP adrese dvaju web poslužitelja kao što je prikazano
$ jer / itd / domaćini
3.19.229.234 server_01
3.17.9.217 server-02
Kada završite, spremite promjene i izađite iz konfiguracijske datoteke.
Sada idite na svaki od web poslužitelja i ažurirajte /etc/hosts datoteku s IP adresom i nazivom hosta balansera opterećenja
3.17.12.132 balanser opterećenjaNakon toga potvrdite da možete pingati balanser opterećenja s poslužitelja_01
I isto tako od poslužitelja_02
Također, provjerite možete li pingati poslužitelje iz balansera opterećenja.
savršeno ! svi poslužitelji mogu komunicirati s balanserom opterećenja!
Korak 2: Instalirajte i konfigurirajte HA proxy na balanseru opterećenja
Budući da je HA Proxy lako dostupan iz službenog repozitorija CentOS-a, instalirat ćemo ga pomoću upravitelja paketa yum ili dnf.
Ali kao i uvijek, prvo ažurirajte sustav
# yum ažuriranjeZatim instalirajte HA proxy kao što je prikazano
# yum instaliraj haproxyNakon uspješne instalacije, idite na haproxy direktorij.
# CD / itd / haproxyNajbolja praksa zahtijeva da napravimo sigurnosnu kopiju konfiguracijske datoteke prije bilo kakvih izmjena. Dakle, napravite sigurnosnu kopiju haproxy.cfg datoteku preimenovanjem.
# mv haproxy.cfg haproxy.cfg.bakZatim nastavite i otvorite konfiguracijsku datoteku
jer haproxy.cfgObavezno izvršite izmjene kako je prikazano
#------------------------------------------------ --------------------# Globalne postavke
#------------------------------------------------ --------------------
globalno
dnevnik 127.0.0.1 lokalni2 #Konfiguracija dnevnika
chroot / bio je / lib / haproxy
pidfile / bio je / trčanje / haproxy.pid
maxconn 4000
korisnik haproxy #Haproxy radi pod korisnikom i grupom 'haproxy'
grupa haproxy
demon
# uključiti stats unix utičnicu
stats utičnica / bio je / lib / haproxy / statistika
#------------------------------------------------ --------------------
# uobičajene zadane postavke koje će imati svi odjeljci 'listen' i 'backend'
# koristiti ako nije naznačeno u njihovom bloku
#------------------------------------------------ --------------------
zadane postavke
način rada http
log globalno
opcija httplog
opcija dontlognull
opcija http-server-close
opcija naprijed za osim 127.0.0.0 / 8
opcija ponovna otprema
ponovni pokušaji 3
vrijeme čekanja http-zahtjev 10s
čekanje čekanja 1m
vrijeme čekanja povezivanje 10s
timeout klijent 1m
timeout server 1m
vrijeme čekanja http-keep-alive 10s
provjera vremenskog ograničenja 10s
maxconn 3000
#------------------------------------------------ --------------------
#HAProxy Konfiguracija nadzora
#------------------------------------------------ --------------------
slušaj haproxy3-monitoring * : 8080 #Haproxy Monitoring radi na portu 8080
način rada http
opcija forwardfor
opcija httpclose
statistika omogućiti
statistike pokazuju-legende
statistika osvježi 5s
stats uri / statistika #URL za HAProxy nadzor
stats realm Haproxy\ Statistika
stats auth Lozinka123: Lozinka123 #Korisnik i lozinka za prijavu na nadzornu ploču
statistika admin ako PRAVI
default_backend app-main #Ovo je izborno za praćenje pozadine
#------------------------------------------------ --------------------
# FrontEnd konfiguracija
#------------------------------------------------ --------------------
glavno sučelje
vezati * : 80
opcija http-server-close
opcija forwardfor
default_backend app-main
#------------------------------------------------ --------------------
# BackEnd round robin kao algoritam ravnoteže
#------------------------------------------------ --------------------
pozadinska aplikacija-glavna
ravnoteža kružno #Algoritam ravnoteže
opcija httpchk GLAVA / HTTP / 1.1 \r\nHost:\ lokalni host
#Provjerite je li aplikacija poslužitelja pokrenuta i ispravna - statusni kod 200
poslužitelj server_01 3.19.229.234: 80 ček #Nginx1
poslužitelj server_02 3.17.9.217: 80 ček #Nginx2
Obavezno izmijenite naziv hosta web poslužitelja i IP adrese kako je navedeno u posljednja dva retka. Spremite promjene i izađite.
Sljedeći korak bit će konfiguriranje Rsysloga da bi mogao bilježiti HAProxy statistiku.
# jer / itd / rsyslog.confProvjerite jeste li odkomentirali donje retke kako biste omogućili UDP veze
$ModLoad imudp$UDPServerRun 514
Zatim nastavite i izradite novu konfiguracijsku datoteku haproksi.konf
# jer / itd / rsyslog.d / haproksi.konfZalijepite sljedeće retke, spremite i izađite
lokalno2.=info / bio je / log / haproxy-access.log #Za Dnevnik pristupalokalni2.obavijest / bio je / log / haproxy-info.log #Za informacije o servisu - Backend, loadbalancer
Da bi promjene stupile na snagu ponovno pokrenite demon rsyslog kao što je prikazano:
# systemctl ponovno pokrenite rsyslogZatim pokrenite i omogućite HAProxy
# systemctl pokrenite rsyslog# systemctl omogući rsyslog
Provjerite radi li HAProxy
# systemctl status rsyslogKorak 3: Instalirajte i konfigurirajte Nginx
Sada, jedini preostali dio je instalacija Nginxa. Prijavite se na svaki od poslužitelja i prvo ažurirajte pakete sustava:
# yum ažuriranjeSljedeća instalacija EPEL (Dodatni paketi za Enterprise Linux)
# yum instaliraj toplo puštanjeDa biste instalirali Nginx, pokrenite naredbu:
# yum instaliraj nginxZatim pokrenite i omogućite Nginx
# systemctl pokrenite nginx# systemctl omogući nginx
Zatim ćemo modificirati datoteku index.html u oba slučaja kako bismo pokazali ili simulirali kako balanser opterećenja može distribuirati web promet na oba poslužitelja.
Za server_01
# jeka 'server_01. Hej ! Dobro došli na prvi web poslužitelj' > index.htmlZa server_02
# jeka 'server_02. Hej! Dobro došli na drugi web poslužitelj' > index.htmlDa bi se promjene primijenile, ponovno pokrenite Nginx
# systemctl ponovno pokrenite nginxKorak 4: Testiranje radi li balanser opterećenja
Napokon smo došli do točke u kojoj želimo vidjeti radi li konfiguracija. Zato se prijavite u balanser opterećenja i više puta izvršite naredbu curl
# kovrča 3.17.12.132Trebali biste dobiti izmjenični izlaz na terminalu koji prikazuje vrijednost index.html od server_01 i server_02
Sada testirajmo pomoću web preglednika. Pregledajte IP adresu svog balansera opterećenja
http: // IP-adresa balansera opterećenjaPrva stranica će prikazati sadržaj s bilo kojeg web poslužitelja
Sada osvježite web stranicu i provjerite prikazuje li sadržaj s drugog web poslužitelja
savršeno ! Ravnoteža opterećenja ravnomjerno raspoređuje IP promet između dva web poslužitelja!
Ovo završava ovaj vodič o tome kako možete instalirati i konfigurirati HAProxy na CentOS 8. Vaše povratne informacije će biti vrlo cijenjene.