A HAProxy beállítása terheléselosztóként az Nginx számára a CentOS 8 rendszerben

A Haproxy Beallitasa Terheleselosztokent Az Nginx Szamara A Centos 8 Rendszerben



High Availability Proxy, más néven HAProxy egy könnyű és gyors terheléselosztó, amely proxyszerverként is működik. Terheléselosztóként döntő szerepet játszik a bejövő webes forgalom több webszerver között történő elosztásában, bizonyos feltételek mellett. Ezáltal magas rendelkezésre állást és hibatűrést biztosít arra az esetre, ha túl sok egyidejű kérés lenne, ami túlterhelheti egyetlen webszervert.

A HaProxy-t olyan népszerű webhelyek használják, mint a Tumblr, a GitHub és a StackOverflow. Ebben az útmutatóban végigvezetjük a HAProxy telepítésén az Nginx használatával működő webszerverek beállításán.

Laboratórium beállítása

A CentOS 7 szerverek 3 példánya az ábrán látható módon







Gazdanév           IP-címek

load_balancer      3.17.12.132
szerver_01          3.19.229.234
szerver_02          3.17.9.217

1. lépés: Szerkessze a /etc/hosts fájlt a terheléselosztóhoz

A kezdéshez jelentkezzen be a terheléselosztó rendszerbe, és módosítsa az /etc/hosts fájlt úgy, hogy az tartalmazza a két webszerver gazdagépnevét és IP-címét az ábrán látható módon.



$ mivel / stb. / otthont ad
3.19.229.234   szerver_01
3.17.9.217     szerver-02



Ha elkészült, mentse a változtatásokat, és lépjen ki a konfigurációs fájlból.





Most lépjen ki az egyes webszerverekre, és frissítse a /etc/hosts fájl a terheléselosztó IP-címével és gazdagépnevével

3.17.12.132   terheléselosztó

Ezt követően győződjön meg arról, hogy meg tudja-e pingelni a terheléselosztót a szerver_01-ről



És ugyanígy a szerver_02-ről

Győződjön meg arról is, hogy pingelni tudja a szervereket a terheléselosztóból.

Tökéletes ! minden szerver tud kommunikálni a terheléselosztóval!

2. lépés: Telepítse és konfigurálja a HA proxyt a terheléselosztón

Mivel a HA Proxy könnyen elérhető a CentOS hivatalos tárolójából, a yum vagy a dnf csomagkezelő használatával fogjuk telepíteni.

De mint mindig, először frissítse a rendszert

# yum frissítés

Ezután telepítse a HA Proxyt az ábra szerint

# yum install haproxy

Sikeres telepítés után navigáljon a haproxy könyvtárba.

# CD / stb. / haproxy

A legjobb gyakorlat megköveteli, hogy bármilyen módosítás előtt biztonsági másolatot készítsünk minden konfigurációs fájlról. Tehát biztonsági másolatot készíteni a haproxy.cfg fájl átnevezésével.

# mv haproxy.cfg  haproxy.cfg.bak

Ezután folytassa és nyissa meg a konfigurációs fájlt

mivel haproxy.cfg

Győződjön meg arról, hogy az ábrán látható módon végezte el a módosítást

#-------------------------------------------------- --------------------
# Általános beállítások
#-------------------------------------------------- --------------------
globális
log         127.0.0.1 local2 #Log konfiguráció

chroot / volt / lib / haproxy
pidfile / volt / fuss / haproxy.pid
maxconn 4000
felhasználó        haproxy #Haproxy 'haproxy' felhasználó és csoport alatt fut
csoport       haproxy
démon

# kapcsolja be a stats unix socketet
statisztika foglalat / volt / lib / haproxy / statisztika

#-------------------------------------------------- --------------------
# általános alapértelmezés, amelyet az összes 'hallgat' és 'backend' szekció fog alkalmazni
# használja, ha nincs kijelölve a blokkban
#-------------------------------------------------- --------------------
alapértelmezettek
mód                   http
log                     globális
opció                  httplog
opció                  dontlognull
opció http-server-close
továbbítási opció       kivéve 127.0.0.0 / 8
lehetőség                  újraküldés
újrapróbálkozik 3
timeout http-request    10 mp
időtúllépési sor           1 m
timeout connect         10s
timeout ügyfél          1 p
időtúllépés szerver          1 p
timeout http-keep-alive 10s
időtúllépés ellenőrzése           10 mp
maxconn 3000

#-------------------------------------------------- --------------------
#HAProxy figyelő konfiguráció
#-------------------------------------------------- --------------------
hallgassa meg a haproxy3-monitoringot * : 8080 #Haproxy Monitoring a 8080-as porton fut
mód http
opció forwardfor
opció httpclose
statisztika engedélyezze
statisztika show-legendák
statisztika frissítése 5s
statisztika uri / statisztika #URL a HAProxy figyeléséhez
stats realm Haproxy\ Statisztika
stats auth Jelszó123: Jelszó123 #Felhasználó és jelszó a felügyeleti műszerfalra való bejelentkezéshez
statisztika admin ha IGAZ
default_backend app-main #Ez opcionálisan a háttérrendszer figyelésére szolgál

#-------------------------------------------------- --------------------
# FrontEnd konfiguráció
#-------------------------------------------------- --------------------
frontend fő
kötni * : 80
opció http-server-close
opció forwardfor
default_backend app-main

#-------------------------------------------------- --------------------
# BackEnd körmérkőzés, mint egyensúlyi algoritmus
#-------------------------------------------------- --------------------
backend app-main

egyensúly roundrobin #Egyensúly algoritmus

opció httpchk HEAD / HTTP / 1.1 \r\nHost:\ localhost
#Ellenőrizze, hogy a kiszolgálóalkalmazás működőképes-e – 200-as állapotkód

szerver server_01 3.19.229.234: 80 jelölje be #Nginx1

szerver server_02 3.17.9.217: 80 jelölje be #Nginx2

Ügyeljen arra, hogy módosítsa a webszerverek gazdagépnevét és IP-címét az utolsó két sorban látható módon. Mentse el a változtatásokat és lépjen ki.

A következő lépés az Rsyslog konfigurálása lesz, hogy képes legyen HAProxy statisztikák naplózására.

# mivel / stb. / rsyslog.conf

Az UDP-kapcsolatok engedélyezéséhez feltétlenül törölje a megjegyzéseket az alábbi sorokból

$ModLoad imudp
$UDPServerRun 514

Ezután folytassa és hozzon létre egy új konfigurációs fájlt haproxy.conf

# mivel / stb. / rsyslog.d / haproxy.conf

Illessze be a következő sorokat, mentse el és lépjen ki

local2.=info / volt / log / haproxy-access.log #Hozzáférési napló
helyi2.értesítés / volt / log / haproxy-info.log #Szolgáltatási információkért – Háttér, terheléselosztó

A változtatások életbe léptetéséhez indítsa újra az rsyslog démont az alábbi módon:

# systemctl indítsa újra az rsyslogot

Ezután indítsa el és engedélyezze a HAProxy-t

# systemctl az rsyslog elindítása
# systemctl engedélyezése rsyslog

Ellenőrizze, hogy a HAProxy fut-e

# systemctl állapot rsyslog

3. lépés: Telepítse és konfigurálja az Nginxet

Most már csak az Nginx telepítése maradt hátra. Jelentkezzen be minden kiszolgálóra, és először frissítse a rendszercsomagokat:

# yum frissítés

Következő telepítés  EPEL (Extra Packages for Enterprise Linux)

# yum install meleg kiadás

Az Nginx telepítéséhez futtassa a következő parancsot:

# yum install nginx

Ezután indítsa el és engedélyezze az Nginx-et

# systemctl start nginx
# systemctl engedélyezi az nginx-et

Ezután mindkét esetben módosítani fogjuk az index.html fájlt, hogy bemutassuk vagy szimuláljuk, hogy a terheléselosztó hogyan képes elosztani a webes forgalmat mindkét szerver között.

A szerver_01

# visszhang 'server_01. Hé! Üdvözöljük az első webszerveren' > index.html

A szerver_02 számára

# visszhang 'server_02. Hé! Üdvözöljük a második webszerveren' > index.html

A módosítások végrehajtásához indítsa újra az Nginx-et

# systemctl indítsa újra az nginx-et

4. lépés: Tesztelje, hogy a terheléselosztó működik-e

Végre ott tartunk, hogy látni akarjuk, működik-e a konfiguráció. Tehát jelentkezzen be a terheléselosztóba, és hajtsa végre ismételten a curl parancsot

# göndör 3.17.12.132

Változó kimenetet kell kapnia a terminálon, amely az index.html értékét mutatja a szerver_01 és a szerver_02 szerverről

Most teszteljük egy webböngészővel. Böngésszen a terheléselosztó IP-címében

http: // terheléselosztó-IP-cím

Az első oldalon bármely webszerver tartalma jelenik meg


Most frissítse a weboldalt, és ellenőrizze, hogy megjelenít-e tartalmat a másik webszerverről

Tökéletes ! A terhelési egyensúly egyenlően osztja el az IP forgalmat a két webszerver között!
Ezzel zárja ezt az oktatóanyagot a HAProxy telepítéséről és konfigurálásáról a CentOS 8 rendszeren. Nagyra értékeljük visszajelzését.