HAProksi

Kako nastaviti HAProxy kot izravnalnik obremenitve za Nginx v CentOS 8

Kako nastaviti HAProxy kot izravnalnik obremenitve za Nginx v CentOS 8
Proxy visoke razpoložljivosti, imenovan tudi HAProxy, je lahek in hiter izravnalnik obremenitve, ki je hkrati tudi proxy strežnik. Kot izravnalnik obremenitve igra ključno vlogo pri distribuciji dohodnega spletnega prometa med več spletnih strežnikov z uporabo določenih meril. S tem zagotavlja visoko razpoložljivost in odpornost na napake v primeru preveč hkratnih zahtev, ki lahko preobremenijo en spletni strežnik.

HaProxy uporabljajo priljubljena spletna mesta, kot so Tumblr, GitHub in StackOverflow. V tem priročniku vas bomo vodili skozi namestitev HAProxy v nastavitvah spletnih strežnikov, ki se poganjajo s pomočjo Nginxa.

Lab Setup

3 primerki strežnikov CentOS 7, kot je prikazano

Naslovi IP gostitelja
load_balancer 3.17.12.132
strežnik_01 3.19.229.234
strežnik_02 3.17.9.217

1. korak: Uredite datoteko / etc / hosts za izravnalnik obremenitve

Za začetek se prijavite v sistem za uravnoteženje obremenitve in spremenite datoteko / etc / hosts, da bo vključeval imena gostiteljev in naslove IP obeh spletnih strežnikov, kot je prikazano

$ vim / etc / hosts
3.19.229.234 strežnik_01
3.17.9.217 strežnik-02

Ko končate, shranite spremembe in zapustite konfiguracijsko datoteko.

Zdaj se odpravite na vsak spletni strežnik in posodobite / etc / hosts datoteka z naslovom IP in imenom gostitelja izravnalnika obremenitve

3.17.12.132 izravnalnik obremenitve

Nato potrdite, da lahko iz strežnika_01 izpišete izravnalnik obremenitve

In prav tako od server_02

Prepričajte se tudi, da lahko strežnike pingujete iz izravnalnika obremenitve.

Odlično ! vsi strežniki lahko komunicirajo z izravnalnikom obremenitve!

2. korak: Namestite in konfigurirajte HA Proxy na izravnalniku obremenitve

Ker je HA Proxy zlahka na voljo v uradnem skladišču CentOS, ga bomo namestili z upraviteljem paketov yum ali dnf.

Toda kot vedno najprej posodobite sistem

# yum posodobitev

Nato namestite HA Proxy, kot je prikazano

# yum namestite haproxy

Po uspešni namestitvi se pomaknite do imenika haproxy.

# cd / etc / haproxy

Najboljša praksa zahteva, da pred kakršnimi koli spremembami varnostno kopiramo katero koli konfiguracijsko datoteko.  Torej varnostno kopirajte haproksi.prim datoteko s preimenovanjem.

# mv haproksi.cfg haproksi.prim.bak

Nato nadaljujte in odprite konfiguracijsko datoteko

vim haproksi.prim

Prepričajte se, da ste izvedli spremembo, kot je prikazano

#---------------------------------------------------------------------
# Globalne nastavitve
#---------------------------------------------------------------------
globalno
dnevnik 127.0.0.1 local2 # Konfiguracija dnevnika
 
chroot / var / lib / haproxy
pidfile / var / run / haproxy.pid
maxconn 4000
uporabnik haproxy #Haproxy, ki se izvaja pod uporabnikom in skupino "haproxy"
skupina haproksi
demon
 
# vklopi statistiko unix vtičnico
stats socket / var / lib / haproxy / stats
 
#---------------------------------------------------------------------
# pogostih privzetih vrednosti, ki jih bodo imeli vsi odseki "poslušaj" in "zaledje"
# uporabite, če ni označeno v njihovem bloku
#---------------------------------------------------------------------
privzete vrednosti
način http
log global
možnost httplog
možnost dontlognull
možnost http-server-close
možnost naprej za razen 127.0.0.0/8
ponovno pošiljanje možnosti
ponovni poskusi 3
časovna omejitev http-zahteva 10s
čakalna vrsta 1m
prekinitev povezave 10s
timeout odjemalec 1m
timeout server 1m
časovna omejitev http-keep-alive 10s
preverjanje časovne omejitve 10s
maxconn 3000
 
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
poslušaj nadzor haproxy3 *: 8080 #Haproxy Monitoring se izvaja na vratih 8080
način http
možnost naprej
možnost httpclose
statistika omogoči
statistika show-legende
statistika osveži 5s
stats uri / stats #URL za spremljanje HAProxy
statistika področje Haproxy \ Statistika
stats auth Password123: Password123 # Uporabnik in geslo za prijavo na nadzorno ploščo
stats admin if TRUE
default_backend app-main #To je neobvezno za spremljanje zaledja
 
#---------------------------------------------------------------------
# FrontEnd Configuration
#---------------------------------------------------------------------
glavni vmesnik
vezava *: 80
možnost http-server-close
možnost naprej
default_backend app-main
 
#---------------------------------------------------------------------
# BackEnd round robin kot ravnotežni algoritem
#---------------------------------------------------------------------
backend app-main
ravnotežje roundrobin #Balance algoritem
možnost httpchk HEAD / HTTP / 1.1 \ r \ nHost: \ localhost
#Preverite, ali je strežniška aplikacija zagnana in je zdrava - 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

Spremenite ime gostitelja in naslove IP spletnih strežnikov, kot je navedeno v zadnjih dveh vrsticah. Shranite spremembe in zapustite.

Naslednji korak bo konfiguriranje Rsysloga, da bo lahko zapisoval statistiko HAProxy.

# vim / etc / rsyslog.conf

Prepričajte se, da ste razkomentirali spodnje vrstice, da omogočajo povezave UDP

$ ModLoad imudp
$ UDPServerRun 514

Nato nadaljujte in ustvarite novo konfiguracijsko datoteko  haproksi.conf

# vim / etc / rsyslog.d / haproksi.conf

Prilepite naslednje vrstice, shranite in zapustite

lokalno2.= info / var / log / haproxy-access.log #For dnevnik dostopa
lokalno2.obvestilo / var / log / haproxy-info.log #For Service Info - Backend, loadbalancer

Da spremembe začnejo veljati, znova zaženite demon rsyslog, kot je prikazano:

# systemctl znova zaženite rsyslog

Nato zaženite in omogočite HAProxy

# systemctl zaženi rsyslog
# systemctl omogoči rsyslog

Preverite, ali se izvaja HAProxy

# systemctl status rsyslog

3. korak: Namestite in konfigurirajte Nginx

Zdaj je preostala le še namestitev Nginxa. Prijavite se v vsak strežnik in najprej posodobite sistemske pakete:

# yum posodobitev

Naslednja namestitev EPEL (dodatni paketi za Enterprise Linux)

# yum namestite epel-release

Če želite namestiti Nginx, zaženite ukaz:

# yum namestite nginx

Nato zaženite in omogočite Nginx

# systemctl zaženi nginx
# systemctl omogoči nginx

Nato bomo indeks spremenili.html v obeh primerih, da dokaže ali simulira, kako je uravnoteževalnik obremenitve sposoben porazdeliti spletni promet med obema strežnikoma.

Za server_01

# echo "server_01. zdravo ! Dobrodošli v indeksu prvega spletnega strežnika.html

Za server_02

# echo "server_02. zdravo ! Dobrodošli v indeksu drugega spletnega strežnika.html

Za izvedbo sprememb znova zaženite Nginx

# systemctl znova zaženite nginx

4. korak: Preizkus, ali deluje uravnotežilec obremenitve

Končno smo na točki, ko želimo preveriti, ali konfiguracija deluje. Torej, prijavite se v izravnalnik obremenitve in večkrat izvedite ukaz curl

# curl 3.17.12.132

Na terminalu bi morali dobiti izmenični izhod, ki prikazuje vrednost indeksa.html iz strežnika_01 in strežnika_02

Zdaj pa preizkusimo z uporabo spletnega brskalnika. Prebrskajte naslov IP izravnalnika obremenitve

http: // load-balancer-IP-naslov

Na prvi strani bo prikazana vsebina katerega koli spletnega strežnika


Zdaj osvežite spletno stran in preverite, ali prikazuje vsebino z drugega spletnega strežnika

Odlično ! Bilanca obremenitve enakomerno porazdeli promet IP med obema spletnima strežnikoma !
To zaključuje to vadnico o tem, kako lahko namestite in konfigurirate HAProxy na CentOS 8. Vaše povratne informacije bodo zelo cenjene.

S pomočjo gumba X-Mouse Button Control različno prilagodite gumbe miške za različno programsko opremo
Mogoče potrebujete orodje, ki bi lahko spremenilo nadzor miške z vsako aplikacijo, ki jo uporabljate. V tem primeru lahko preizkusite aplikacijo z ime...
Microsoft Sculpt Touch Wireless Mouse Review
Pred kratkim sem prebral o Microsoftov kiparski dotik brezžično miško in se odločil za nakup. Potem ko sem ga nekaj časa uporabljal, sem se odločil, d...
Zaslonska sledilna ploščica in kazalec miške AppyMouse za tablične računalnike Windows
Uporabniki tabličnih računalnikov pogosto zgrešijo miškin kazalec, še posebej kadar običajno uporabljajo prenosne računalnike. Pametni telefoni in tab...