HaProxy koriste popularne web stranice poput Tumblr, GitHub i StackOverflow. U ovom vodiču provest ćemo vas kroz instalaciju HAProxy-a u postavljanju web poslužitelja koji se napajaju pomoću Nginxa.
Postavljanje laboratorija
3 primjerka CentOS 7 poslužitelja kao što je prikazano
IP adrese hostaload_balancer 3.17.12.132
poslužitelj_01 3.19.229.234
poslužitelj_02 3.17.9.217
Korak 1: Uredite datoteku / etc / hosts za uravnoteživač opterećenja
Da biste započeli, prijavite se u sustav uravnoteživača opterećenja i izmijenite datoteku / etc / hosts tako da uključuje imena hosta i IP adrese dvaju web poslužitelja kao što je prikazano
$ vim / etc / hosts3.19.229.234 poslužitelj_01
3.17.9.217 poslužitelj-02
Po završetku spremite promjene i izađite iz konfiguracijske datoteke.
Sada idite na svaki od web poslužitelja i ažurirajte / etc / hosts datoteka s IP adresom i imenom hosta uravnoteživača opterećenja
3.17.12.132 uravnoteživač opterećenjaNakon toga, potvrdite da možete ping-u uravnoteživača opterećenja pingati s poslužitelja_01
I isto tako od server_02
Također, pobrinite se da možete pingati poslužitelje s uravnoteživača opterećenja.
Savršen ! svi poslužitelji mogu komunicirati s uravnoteživačem opterećenja!
Korak 2: Instalirajte i konfigurirajte HA proxy na uravnoteživaču opterećenja
Budući da je HA Proxy lako dostupan iz službenog spremišta CentOS-a, instalirat ćemo ga pomoću upravitelja paketa yum ili dnf.
Ali kao i uvijek, najprije ažurirajte sustav
# yum ažuriranjeZatim instalirajte HA Proxy kao što je prikazano
# yum instaliraj haproxy
Nakon uspješne instalacije, idite do haproxy direktorija.
# cd / etc / haproxyNajbolji postupak zahtijeva da napravimo sigurnosnu kopiju bilo koje konfiguracijske datoteke prije bilo kakvih izmjena. Zato napravite sigurnosnu kopiju haproksi.usp datoteku preimenovanjem.
# mv haproksi.cfg haproksi.usp.bakZatim nastavite i otvorite konfiguracijsku datoteku
vim haproksi.uspObavezno izvršite izmjenu kako je prikazano
#---------------------------------------------------------------------# Globalne postavke
#---------------------------------------------------------------------
globalno
zapisnik 127.0.0.1 lokalna2 # Konfiguracija prijave
chroot / var / lib / haproxy
pidfile / var / run / haproxy.pid
maxconn 4000
user haproxy #Haproxy koji se izvodi pod korisnikom i grupom "haproxy"
skupni haproksi
demon
# uključi statistiku unix utičnice
statistika socket / var / lib / haproxy / statistika
#---------------------------------------------------------------------
# uobičajene zadane vrijednosti koje će imati svi odjeljci "preslušavanje" i "pozadina"
# koristiti ako nije naznačeno u njihovom bloku
#---------------------------------------------------------------------
zadane vrijednosti
način rada http
log global
opcija httplog
opcija dontlognull
opcija http-server-close
opcija naprijed za osim 127.0.0.0/8
redispatch opcije
ponovni pokušaji 3
timeout http-zahtjev 10s
red čekanja 1m
timeout spojiti 10s
timeout klijent 1m
timeout poslužitelj 1m
timeout http-keep-alive 10s
timeout checks 10s
maxconn 3000
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
slušajte haproxy3-monitoring *: 8080 #Haproxy Monitoring pokrenut na priključku 8080
način rada http
opcija forwardfor
opcija httpclose
statistika omogućuje
statistika show-legende
statistika osvježava 5s
statistika uri / stats #URL za nadzor HAProxy-a
statistika carstvo Haproxy \ Statistika
statistika auth Password123: Password123 # Korisnik i lozinka za prijavu na nadzornu ploču
statistika admin ako je ISTINA
default_backend app-main #Ovo je opcionalno za nadgledanje pozadine
#---------------------------------------------------------------------
# FrontEnd Configuration
#---------------------------------------------------------------------
prednji glavni
vezati: 80
opcija http-server-close
opcija forwardfor
default_backend app-main
#---------------------------------------------------------------------
# BackEnd Round Robin kao algoritam ravnoteže
#---------------------------------------------------------------------
pozadinska aplikacija-glavna
ravnoteža roundrobin #Balance algoritam
opcija httpchk HEAD / HTTP / 1.1 \ r \ nHost: \ localhost
# Provjerite je li poslužiteljska aplikacija ispravna i ispravna - 200 statusni kod
poslužitelj poslužitelj_01 3.19.229.234: 80 provjera # Nginx1
poslužitelj poslužitelj_02 3.17.9.217: 80 provjeri # Nginx2
Obavezno izmijenite naziv hosta i IP adrese web poslužitelja kako je naznačeno u zadnja dva retka. Spremite promjene i izađite.
Sljedeći će korak biti konfiguriranje Rsysloga tako da može bilježiti HAProxy statistiku.
# vim / etc / rsyslog.konfObavezno uklonite komentar iz donjih redaka kako biste omogućili UDP veze
$ ModLoad imudp$ UDPServerRun 514
Zatim nastavite i stvorite novu konfiguracijsku datoteku haproksi.konf
# vim / etc / rsyslog.d / haproksi.konfZalijepite sljedeće retke, spremite i izađite
lokalno2.= info / var / log / haproxy-access.zapisnik #Za zapisnik pristupalokalno2.obavijest / var / log / haproxy-info.log #For Service Info - Backend, loadbalancer
Da bi promjene stupile na snagu, ponovo pokrenite rsyslog demon kako je prikazano:
# systemctl ponovno pokrenite rsyslogZatim pokrenite i omogućite HAProxy
# systemctl start rsyslog# systemctl omogućiti rsyslog
Provjerite radi li HAProxy
# systemctl status rsyslog
Korak 3: Instalirajte i konfigurirajte Nginx
Sada je preostala samo instalacija Nginxa. Prijavite se na svaki od poslužitelja i prvo ažurirajte sistemske pakete:
# yum ažuriranjeSljedeća instalacija EPEL-a (dodatni paketi za Enterprise Linux)
# yum instaliraj epel-releaseDa biste instalirali Nginx, pokrenite naredbu:
# yum instaliraj nginxZatim pokrenite i omogućite Nginx
# systemctl start nginx# systemctl omogući nginx
Zatim ćemo izmijeniti indeks.html datoteku u oba slučaja kako bi se demonstriralo ili simuliralo kako je uravnoteživač tereta u stanju distribuirati web promet na oba poslužitelja.
Za poslužitelj_01
# echo "poslužitelj_01. Hej ! Dobrodošli na prvi web> "indeks poslužitelja.htmlZa poslužitelj_02
# echo "poslužitelj_02. Hej ! Dobrodošli na indeks drugog web poslužitelja ">.htmlDa biste izvršili promjene, ponovo pokrenite Nginx
# systemctl ponovno pokrenite nginxKorak 4: Ispitivanje radi li uravnoteživač tereta
Napokon smo na mjestu na kojem želimo vidjeti funkcionira li konfiguracija. Dakle, prijavite se u uravnoteživač tereta i izvršavajte naredbu curl više puta
# uvojak 3.17.12.132Trebali biste dobiti izmjenični izlaz na terminalu koji prikazuje vrijednost indeksa.html s poslužitelja_01 i poslužitelja_02
Sada testirajmo pomoću web preglednika. Pregledajte IP adresu uravnoteživača tereta
http: // load-balancer-IP-adresaNa prvoj stranici prikazat će se sadržaj s bilo kojeg web poslužitelja
Sada osvježite web stranicu i provjerite prikazuje li ona sadržaj s drugog web poslužitelja
Savršen ! Bilanca opterećenja distribuira IP promet podjednako između dva web poslužitelja !
Ovim se završava ovaj vodič o tome kako možete instalirati, kao i konfigurirati HAProxy na CentOS 8. Vaše će povratne informacije biti vrlo cijenjene.