HAProxy

A HAProxy beállítása az Nginx terheléselosztóként a CentOS 8-ban

A HAProxy beállítása az Nginx terheléselosztóként a CentOS 8-ban
A magas rendelkezésre állású proxy, más néven HAProxy egy könnyű és gyors terheléselosztó, amely proxy szerverként is funkcionál. Terheléselosztóként döntő szerepet játszik a bejövő webes forgalom több webszerveren történő elosztásában, bizonyos kritériumok alapján. Ezzel magas rendelkezésre állást és hibatűrést biztosít abban az esetben, ha túl sok egyidejű kérés van, 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 áttekintjük a HAProxy telepítését a webszerverek Nginx használatával történő beállításában.

Lab Setup

3 példány CentOS 7 kiszolgáló az ábrán látható módon

Gazdanév IP-címek
terhelés-kiegyensúlyozó 3.17.12.132
szerver_01 3.19.229.234
szerver_02 3.17.9.217

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

Első lépésként jelentkezzen be a terheléselosztó rendszerbe, és módosítsa az / etc / hosts fájlt, hogy tartalmazza a két webkiszolgáló hosztnevét és IP-címét az ábra szerint

$ vim / etc / hosts
3.19.229.234 szerver_01
3.17.9.217. szerver-02

Ha elkészült, mentse a módosításokat, és lépjen ki a konfigurációs fájlból.

Most lépjen ki az összes webszerverre, é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 ellenőrizze, hogy ping-e a terheléselosztót a server_01 szerverről

És hasonlóképpen a server_02-ről is

Ügyeljen arra is, hogy pingelhesse a szervereket a terheléselosztóból.

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

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

Mivel a HA Proxy könnyen elérhető a CentOS hivatalos adattárából, a yum vagy a dnf csomagkezelő segítségével telepítjük.

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

# yum frissítés

Ezután telepítse a HA Proxy-t az ábra szerint

# telepítsd a haproxit

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

# cd / etc / haproxy

A bevált gyakorlat megköveteli, hogy a módosítások előtt készítsünk biztonsági másolatot minden konfigurációs fájlról.  Tehát készítsen biztonsági másolatot a haproxi.vö fájl átnevezésével.

# mv haproxi.cfg haproxi.vö.bak

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

vim haproxi.vö

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

#---------------------------------------------------------------------
# Általános beállítások
#---------------------------------------------------------------------
globális
napló 127.0.0.1 helyi2 # Log konfiguráció
 
chroot / var / lib / haproxy
pidfile / var / run / haproxy.pid
maxconn 4000
felhasználói haproxy #Haproxy fut a "haproxy" felhasználó és csoport alatt
csoport haproxi
démon
 
# kapcsolja be a stats unix socket-et
stats socket / var / lib / haproxy / stats
 
#---------------------------------------------------------------------
# közös alapértelmezett érték, amelyet az összes "hallgatás" és a "háttér" szakasz elvégez
# használja, ha nincs megadva a blokkjában
#---------------------------------------------------------------------
alapértelmezett
mód http
log globális
opció httplog
opció dontlognull
opció http-server-close
opció előre a 127 kivételével.0.0.0/8
opció újraküldése
újrapróbálkozás 3
időtúllépés: http-request 10s
időkorlát 1m
időtúllépés csatlakoztassa a 10-et
időkorlát kliens 1m
timeout szerver 1m
időtúllépés http-keep-alive 10s
timeout check 10s
maxconn 3000
 
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
figyelj haproxy3-monitorozásra *: 8080 #Haproxy Monitoring fut a 8080-as porton
mód http
opció előre
opció httpclose
statisztika engedélyezi
statisztika show-legendák
a statisztika frissíti az 5-öt
stats uri / stats #URL a HAProxy monitorozásához
stats realm Haproxy \ Statistics
stats auth Jelszó123: Jelszó123 # Felhasználó és jelszó a felügyeleti irányítópultra történő bejelentkezéshez
stats admin ha IGAZ
default_backend app-main #Ez opcionálisan a háttérprogram figyelésére szolgál
 
#---------------------------------------------------------------------
# FrontEnd konfiguráció
#---------------------------------------------------------------------
frontend fő
kötés *: 80
opció http-server-close
opció előre
default_backend app-main
 
#---------------------------------------------------------------------
# BackEnd körmérleg algoritmusként
#---------------------------------------------------------------------
háttér-app-main
balance roundrobin # Balance algoritmus
opció httpchk HEAD / HTTP / 1.1 \ r \ nGazda: \ localhost
# Ellenőrizze, hogy a szerveralkalmazás fel van-e állítva, és állapota jó-e
szerver kiszolgáló_01 3.19.229.234: 80 check # Nginx1
szerver kiszolgáló_02 3.17.9.217: 80 check # Nginx2

Ügyeljen arra, hogy módosítsa a webszerverek hosztnevét és IP-címét az utolsó két sorban leírtak szerint. Mentse a módosításokat, és lépjen ki.

A következő lépés az Rsyslog beállítása a HAProxy statisztikák naplózására.

# vim / etc / rsyslog.konf

Az UDP-kapcsolatok engedélyezéséhez ügyeljen az alábbi sorok törlésére

$ ModLoad imudp
$ UDPServerRun 514

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

# vim / etc / rsyslog.d / haproxi.konf

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

helyi2.= info / var / log / haproxy-access.napló # Hozzáférési naplóhoz
helyi2.értesítés / var / log / haproxy-info.napló # Szervizinformációkért - háttérprogram, terheléselosztó

A változások életbe léptetéséhez indítsa újra az rsyslog démonot az alábbiak szerint:

# systemctl indítsa újra az rsyslogot

Ezután indítsa el és engedélyezze a HAProxy alkalmazást

# systemctl indítsa el az rsyslogot
# systemctl engedélyezi az rsyslogot

Ellenőrizze, hogy a HAProxy fut-e

# systemctl állapot rsyslog

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

Most csak az Nginx telepítése maradt meg. Jelentkezzen be az egyes kiszolgálókra, é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 epel-release

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

# yum install nginx

Ezután indítsa el és engedélyezze az Nginx alkalmazást

# systemctl start nginx
# systemctl engedélyezze az nginxet

Ezután módosítani fogjuk az indexet.HTML fájl mindkét esetben annak bemutatása vagy szimulálása érdekében, hogy a terheléselosztó hogyan tudja elosztani a webes forgalmat mindkét szerveren.

A kiszolgáló_01 számára

# echo "szerver_01. Hé ! Üdvözöljük az első webszerver "> indexben.html

A kiszolgáló_02 számára

# echo "szerver_02. Hé ! Üdvözöljük a második webszerver "> indexben.html

A végrehajtandó változtatások érdekében indítsa újra az Nginx alkalmazást

# systemctl indítsa újra a nginx-et

4. lépés: A terheléselosztó működésének tesztelése

Végre elérkeztünk arra a pontra, ahol meg akarjuk nézni, hogy működik-e a konfiguráció. Tehát jelentkezzen be a terheléselosztóba, és hajtsa végre ismét a curl parancsot

# curl 3.17.12.132

Váltakozó kimenetet kell kapnia a terminálon, amely az index értékét mutatja.html a kiszolgáló_01 és a kiszolgáló_02 fájlból

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

http: // load-balancer-IP-address

Az első oldalon a webkiszolgálók bármelyikének tartalma jelenik meg


Most frissítse a weboldalt, és ellenőrizze, hogy a másik webszerver tartalmát jeleníti-e meg

Tökéletes ! A terhelési egyensúly az IP-forgalmat egyenlően osztja el a két webszerver között !
Ez összefoglalja ezt az oktatóanyagot arról, hogyan telepítheti és konfigurálhatja a HAProxy-t a CentOS 8-on. Visszajelzését nagyra értékeljük.

Az 5 legjobb játékrögzítő kártya
Mindannyian láttuk és szerettük a YouTube-on a streaming játékokat. A PewDiePie, a Jakesepticye és a Markiplier csak néhány a legnépszerűbb játékosok ...
Hogyan lehet játékot fejleszteni Linuxon
Egy évtizeddel ezelőtt nem sok Linux-felhasználó jósolta, hogy kedvenc operációs rendszerük egy napon a videojátékok népszerű játékplatformja lesz. El...
Kereskedelmi játékmotorok nyílt forráskódú portjai
Ingyenes, nyílt forráskódú és platformokon átívelő játékmotorok szabadidős programjai felhasználhatók a régi, valamint a meglehetősen friss játékcímek...