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ésEzután telepítse a HA Proxyt az ábra szerint
# yum install haproxySikeres telepítés után navigáljon a haproxy könyvtárba.
# CD / stb. / haproxyA 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.bakEzután folytassa és nyissa meg a konfigurációs fájlt
mivel haproxy.cfgGyő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.confAz 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.confIllessze 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 rsyslogotEzutá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 rsyslog3. 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ésKövetkező telepítés EPEL (Extra Packages for Enterprise Linux)
# yum install meleg kiadásAz Nginx telepítéséhez futtassa a következő parancsot:
# yum install nginxEzutá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.htmlA szerver_02 számára
# visszhang 'server_02. Hé! Üdvözöljük a második webszerveren' > index.htmlA módosítások végrehajtásához indítsa újra az Nginx-et
# systemctl indítsa újra az nginx-et4. 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.132Vá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ímAz 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.