HaProxy uporabljajo priljubljena spletna mesta, kot so Tumblr, GitHub in StackOverflow. V tem priročniku vas bomo popeljali skozi namestitev HAProxy v nastavitev spletnih strežnikov, ki se poganjajo z Nginxom.
Nastavitev laboratorija
3 primerki strežnikov CentOS 7, kot je prikazano
Ime gostitelja Naslovi IP
load_balancer 3.17.12.132
server_01 3.19.229.234
server_02 3.17.9.217
1. korak: Uredite datoteko /etc/hosts za izravnalnik obremenitve
Za začetek se prijavite v sistem za izravnavo obremenitve in spremenite datoteko /etc/hosts tako, da vključuje imena gostiteljev in naslova IP obeh spletnih strežnikov, kot je prikazano
$ Ker / itd / gostitelji
3.19.229.234 server_01
3.17.9.217 strežnik-02
Ko končate, shranite spremembe in zaprite konfiguracijsko datoteko.
Zdaj se odpravite na vsak spletni strežnik in posodobite /etc/hosts datoteko z naslovom IP in imenom gostitelja izravnalnika obremenitve
3.17.12.132 izravnavalec obremenitveNato potrdite, da lahko izvajate ping za izravnalnik obremenitve s server_01
In prav tako iz strežnika_02
Prepričajte se tudi, da lahko strežnike pingate iz izravnalnika obremenitve.
popolno! vsi strežniki lahko komunicirajo z izravnalnikom obremenitve!
2. korak: Namestite in konfigurirajte HA Proxy na izravnalniku obremenitve
Ker je HA Proxy na voljo v uradnem repozitoriju CentOS, ga bomo namestili z upraviteljem paketov yum ali dnf.
Toda kot vedno najprej posodobite sistem
# yum posodobitevNato namestite HA Proxy, kot je prikazano
# yum namestitev haproxyPo uspešni namestitvi se pomaknite do imenika haproxy.
# cd / itd / haproxyNajboljša praksa zahteva, da varnostno kopiramo katero koli konfiguracijsko datoteko, preden naredimo kakršne koli spremembe. Torej varnostno kopirajte haproxy.cfg datoteko tako, da jo preimenujete.
# mv haproxy.cfg haproxy.cfg.bakNato nadaljujte in odprite konfiguracijsko datoteko
Ker haproxy.cfgPrepričajte se, da ste izvedli spremembo, kot je prikazano
#------------------------------------------------ --------------------# Globalne nastavitve
#------------------------------------------------ --------------------
globalno
dnevnik 127.0.0.1 local2 #Konfiguracija dnevnika
chroot / je bil / lib / haproxy
pidfile / je bil / teči / haproxy.pid
maxconn 4000
uporabnik haproxy #Haproxy, ki se izvaja pod uporabnikom in skupino 'haproxy'
skupina haproxy
daemon
# vklopite vtičnico stats unix
vtičnica za statistiko / je bil / lib / haproxy / statistika
#------------------------------------------------ --------------------
# običajne privzete nastavitve, ki jih bodo imeli vsi razdelki »poslušaj« in »zadnji del«.
# uporabite, če ni določeno v njihovem bloku
#------------------------------------------------ --------------------
privzete vrednosti
način http
log globalno
možnost httplog
možnost dontlognull
možnost http-server-close
možnost posredovanja za razen 127.0.0.0 / 8
možnost ponovno pošiljanje
ponovni poskusi 3
časovna omejitev http-request 10s
časovna omejitev v čakalni vrsti 1 m
prekinitev povezave 10s
timeout stranka 1m
timeout server 1m
časovna omejitev http-keep-alive 10s
preverjanje časovne omejitve 10 s
maxconn 3000
#------------------------------------------------ --------------------
#HAProxy Monitoring Config
#------------------------------------------------ --------------------
poslušaj haproxy3-monitoring * : 8080 #Haproxy Monitoring deluje na vratih 8080
način http
možnost forwardfor
možnost httpclose
statistika omogočiti
statistika kaže-legende
statistika osveži 5s
stats uri / statistika #URL za spremljanje HAProxy
stats realm Haproxy\ Statistika
stats auth Geslo123: Geslo123 #Uporabnik in geslo za prijavo na nadzorno ploščo
statistika admin če PRAV
default_backend app-main #To je izbirno za spremljanje zaledja
#------------------------------------------------ --------------------
# FrontEnd konfiguracija
#------------------------------------------------ --------------------
frontend main
vezati * : 80
možnost http-server-close
možnost forwardfor
default_backend app-main
#------------------------------------------------ --------------------
# BackEnd round robin kot ravnotežni algoritem
#------------------------------------------------ --------------------
zaledna aplikacija-glavna
ravnotežje krožno #Algoritem ravnotežja
možnost httpchk HEAD / HTTP / 1.1 \r\nGostitelj:\ lokalni gostitelj
#Preverite, ali strežniška aplikacija deluje in deluje - 200 statusna koda
strežnik server_01 3.19.229.234: 80 preverite #Nginx1
strežnik server_02 3.17.9.217: 80 preverite #Nginx2
Ne pozabite spremeniti imena gostitelja spletnih strežnikov in naslovov IP, kot je navedeno v zadnjih dveh vrsticah. Shranite spremembe in zapustite.
Naslednji korak bo konfiguracija Rsysloga, da bo lahko beležil statistiko HAProxy.
# Ker / itd / rsyslog.confPrepričajte se, da ste odkomentirali spodnje vrstice, da omogočite povezave UDP
$ModLoad imudp$UDPServerRun 514
Nato nadaljujte in ustvarite novo konfiguracijsko datoteko haproxy.conf
# Ker / itd / rsyslog.d / haproxy.confPrilepite naslednje vrstice, shranite in zapustite
local2.=info / je bil / dnevnik / haproxy-access.log #Za dnevnik dostopalocal2.notice / je bil / dnevnik / haproxy-info.log #Za informacije o storitvi - zaledje, uravnavalnik obremenitve
Da spremembe začnejo veljati, znova zaženite demon rsyslog, kot je prikazano:
# systemctl znova zaženite rsyslogNato zaženite in omogočite HAProxy
# systemctl zaženi rsyslog# systemctl omogoči rsyslog
Preverite, ali HAProxy deluje
# status systemctl rsyslog3. korak: Namestite in konfigurirajte Nginx
Zdaj je edini preostali del namestitev Nginxa. Prijavite se v vsak strežnik in najprej posodobite sistemske pakete:
# yum posodobitevNaslednja namestitev EPEL (dodatni paketi za Enterprise Linux)
# yum namestitev toplo sproščanjeČe želite namestiti Nginx, zaženite ukaz:
# yum namestitev nginxNato zaženite in omogočite Nginx
# systemctl zaženi nginx# systemctl omogoči nginx
Nato bomo v obeh primerih spremenili datoteko index.html, da bi prikazali ali simulirali, kako lahko izravnalnik obremenitve porazdeli spletni promet med oba strežnika.
Za server_01
# odmev 'server_01. Hej ! Dobrodošli na prvem spletnem strežniku' > index.htmlZa server_02
# odmev 'server_02. Hej ! Dobrodošli na drugem spletnem strežniku' > index.htmlDa bodo spremembe uveljavljene, znova zaženite Nginx
# systemctl znova zaženite nginx4. korak: Preizkušanje, ali izravnalnik obremenitve deluje
Končno smo na točki, ko želimo videti, ali konfiguracija deluje. Zato se prijavite v izravnalnik obremenitve in večkrat izvedite ukaz curl
# koder 3.17.12.132Na terminalu bi morali dobiti izmenično izhod, ki prikazuje vrednost index.html iz server_01 in server_02
Zdaj pa preizkusimo s spletnim brskalnikom. Prebrskajte po naslovu IP vašega izravnalnika obremenitve
http: // IP-naslov izravnalnika obremenitveNa prvi strani bo prikazana vsebina s katerega koli spletnega strežnika
Zdaj osvežite spletno stran in preverite, ali prikazuje vsebino iz drugega spletnega strežnika
popolno! Ravnovesje obremenitve enakomerno porazdeli promet IP med obema spletnima strežnikoma!
To je zaključek te vadnice o tem, kako lahko namestite in konfigurirate HAProxy v CentOS 8. Vaše povratne informacije bomo zelo cenili.