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ímekterhelé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 / hosts3.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ésEzutá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 / haproxyA 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ö.bakEzutá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.konfAz 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.konfIllessze be a következő sorokat, mentse és lépjen ki
helyi2.= info / var / log / haproxy-access.napló # Hozzáférési naplóhozhelyi2.é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 rsyslogotEzutá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ésKövetkező telepítés: EPEL (Extra Packages for Enterprise Linux)
# yum install epel-releaseAz Nginx telepítéséhez futtassa a következő parancsot:
# yum install nginxEzutá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.htmlA kiszolgáló_02 számára
# echo "szerver_02. Hé ! Üdvözöljük a második webszerver "> indexben.htmlA végrehajtandó változtatások érdekében indítsa újra az Nginx alkalmazást
# systemctl indítsa újra a nginx-et4. 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.132Vá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-addressAz 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.