Kako nastaviti HAProxy kot izravnavo obremenitve za Nginx v CentOS 8

Kako Nastaviti Haproxy Kot Izravnavo Obremenitve Za Nginx V Centos 8



High Availability Proxy, skrajšano tudi HAProxy, je lahek in hiter izravnalnik obremenitve, ki deluje tudi kot proxy strežnik. Kot izravnalnik obremenitve ima ključno vlogo pri porazdelitvi dohodnega spletnega prometa na več spletnih strežnikov z uporabo določenih kriterijev. S tem zagotavlja visoko razpoložljivost in toleranco na napake v primeru preveč sočasnih zahtev, ki lahko preobremenijo posamezen spletni strežnik.

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 obremenitve

Nato 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 posodobitev

Nato namestite HA Proxy, kot je prikazano

# yum namestitev haproxy

Po uspešni namestitvi se pomaknite do imenika haproxy.

# cd / itd / haproxy

Najboljš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.bak

Nato nadaljujte in odprite konfiguracijsko datoteko

Ker haproxy.cfg

Preprič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.conf

Preprič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.conf

Prilepite naslednje vrstice, shranite in zapustite

local2.=info / je bil / dnevnik / haproxy-access.log #Za dnevnik dostopa
local2.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 rsyslog

Nato zaženite in omogočite HAProxy

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

Preverite, ali HAProxy deluje

# status systemctl rsyslog

3. korak: Namestite in konfigurirajte Nginx

Zdaj je edini preostali del namestitev Nginxa. Prijavite se v vsak strežnik in najprej posodobite sistemske pakete:

# yum posodobitev

Naslednja namestitev  EPEL (dodatni paketi za Enterprise Linux)

# yum namestitev toplo sproščanje

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

# yum namestitev nginx

Nato 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.html

Za server_02

# odmev 'server_02. Hej ! Dobrodošli na drugem spletnem strežniku' > index.html

Da bodo spremembe uveljavljene, znova zaženite Nginx

# systemctl znova zaženite nginx

4. 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.132

Na 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 obremenitve

Na 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.