Kako postaviti HAProxy kao balanser opterećenja za Nginx u CentOS 8

Kako Postaviti Haproxy Kao Balanser Opterecenja Za Nginx U Centos 8



High Availability Proxy, također skraćeno HAProxy je lagan i brz balanser opterećenja koji također služi i kao proxy poslužitelj. Kao balanser opterećenja, igra ključnu ulogu u raspodjeli dolaznog web prometa na više web poslužitelja koristeći određene kriterije. Na taj način osigurava visoku dostupnost i otpornost na pogreške u slučaju da postoji previše istodobnih zahtjeva koji mogu preopteretiti jedan web poslužitelj.

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ćenja

Nakon 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žuriranje

Zatim instalirajte HA proxy kao što je prikazano

# yum instaliraj haproxy

Nakon uspješne instalacije, idite na haproxy direktorij.

# CD / itd / haproxy

Najbolja 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.bak

Zatim nastavite i otvorite konfiguracijsku datoteku

jer haproxy.cfg

Obavezno 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.conf

Provjerite 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.konf

Zalijepite sljedeće retke, spremite i izađite

lokalno2.=info / bio je / log / haproxy-access.log #Za Dnevnik pristupa
lokalni2.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 rsyslog

Zatim pokrenite i omogućite HAProxy

# systemctl pokrenite rsyslog
# systemctl omogući rsyslog

Provjerite radi li HAProxy

# systemctl status rsyslog

Korak 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žuriranje

Sljedeća instalacija  EPEL (Dodatni paketi za Enterprise Linux)

# yum instaliraj toplo puštanje

Da biste instalirali Nginx, pokrenite naredbu:

# yum instaliraj nginx

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

Za server_02

# jeka 'server_02. Hej! Dobro došli na drugi web poslužitelj' > index.html

Da bi se promjene primijenile, ponovno pokrenite Nginx

# systemctl ponovno pokrenite nginx

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

Trebali 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ćenja

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