A terheléselosztás a leggyakoribb gyakorlat a bejövő webes forgalom elosztására több háttérszerver között. Ez még akkor is elérhetővé teszi az alkalmazást, ha a szerverek egy része valamilyen oknál fogva leáll. A terheléselosztás növeli a webalkalmazások hatékonyságát és megbízhatóságát. A HAProxy terheléselosztót ugyanarra a célra használják. Az iparban a legszélesebb körben alkalmazott terheléselosztó. A hivatalos weboldalnak megfelelően a HAProxy-t olyan vezető vállalatok használják, mint az AWS, a Fedora, a Github és még sokan mások.
A HAProxy vagy a High Availability Proxy magas rendelkezésre állású és proxy megoldást kínál. C-ben van írva, és a TCP / IP modell hálózati és alkalmazási rétegein működik. A legjobb az, hogy van egy ingyenes közösségi kiadása, és ez egy nyílt forráskódú alkalmazás. Linux, FreeBSD és Solaris operációs rendszereken működik. A vállalati kiadás is ott van, de van árcédulája.
Ebben az útmutatóban meglátjuk A HAProxy telepítése és a terheléselosztó szerver konfigurálása a Debian 10-en.
Előfeltételek:
- „Sudo” hozzáférés az összes géphez és a Linux terminál parancsainak futtatásához szükséges alapismeretek.
- Privát IP-címek hozzáadva a terheléselosztó és háttérszerverekhez.
- Az összes gépre telepítve van a Debian 10 operációs rendszer.
A HAProxy telepítése a Debian 10-re
Útmutatónknak a következő IP-címkonfigurációt feltételezzük:
- HAProxy terheléselosztó 10.0.12.10
- Webkiszolgáló1: IP-cím: 10.0.12.15
- Webkiszolgáló2: IP-cím: 10.0.12.16
1. lépés. Frissítse a Debian rendszer adattárát és csomagjait
Először futtassa az alábbi parancsokat minden rendszeren, hogy frissítse a szoftvercsomagokat a legújabbakra.
$ sudo apt frissítés$ sudo apt upgrade -y
2. lépés: Telepítse az Nginx-et a háttérszerverekre
Készítse elő a háttérszervereket úgy, hogy mindegyikre telepíti az Nginx webkiszolgálót. Választhat más webszervereket is, például az apache-t.
Az Nginx telepítéséhez futtassa a következő parancsokat a környezet minden háttérszerverén:
$ sudo apt install nginx3. lépés: Miután az Nginx telepítve van a háttérszerverekre, indítsa el a szolgáltatást, az alábbiak szerint:
$ Sudo systemctl start nginxTIPP: Az nginx webkiszolgálót az alábbi paranccsal is kezelhetjük:
$ sudo / etc / init.d / nginx „opció”opció: indítsa újra az újraindítást
Lépés: 4 Hozzon létre egyedi indexoldalakat az egyes Nginx webkiszolgálók webmappáiban. Ez segít megkülönböztetni, melyik háttérszerver szolgálja ki a beérkező kéréseket.
Minden webkiszolgálón hajtsa végre a következő feladatokat:
Készítsen biztonsági másolatot az eredeti indexfájlról a következő paranccsal:
$ sudo cp / usr / share / nginx / html / index.html / usr / share / nginx / html / index.html.origAdjon hozzá egyéni szöveget az indexhez.html fájl. Hozzáadjuk az egyes webszerverek IP-címeit.
1. webszerver esetén:
$ sudo echo "Webkiszolgáló 1: 10.0.12.15 "| sudo tee / usr / share / nginx / html / index.html2. webszerver esetén:
$ sudo echo "Webkiszolgáló 2: 10.0.12.16 "| sudo tee / usr / share / nginx / html / index.htmlHasználhatja a vi szerkesztőt is, ha ebben jobban érzi magát. Ez az alábbiakban látható:
$ sudo vi / usr / share / nginx / html / index.htmlA fájl megnyitásakor írja be a szöveget, és mentse a fájlt.
Nyissa meg az alapértelmezett virtuális gazdagépfájlt az “/ etc / nginx / sites-available /” könyvtárban.
$ sudo nano / etc / nginx / sites-available / defaultMost a kiszolgálóblokkban változtassa meg a root utasítást “/ var / www / html” -ről “/ usr / share / nginx / html” -re.
Az Nginx konfigurációjának ellenőrzéséhez futtassa a következő parancsot:
$ sudo nginx -t5. lépés: Most indítsa újra a szolgáltatást a következő paranccsal:
$ sudo systemctl indítsa újra az nginx fájltAz nginx állapotát a következő paranccsal ellenőrizheti:
$ sudo systemctl status nginx6. lépés: A HAProxy telepítéséhez a Debian 10-re (Buster) futtassa a következő parancsot a terheléselosztón.
$ sudo apt install haproxy -yTipp: A HAProxy telepítése után a HAProxy kezelhető egy init szkript segítségével. Ehhez állítsa az „engedélyezett” paramétert 1-re az „/ etc / default / haproxy” mezőben, az alábbiak szerint:
$ sudo vi / etc / default / haproxyENABLED = 1
Most a következő opció használható egy init szkriptnél:
$ sudo service haproxy “opció.”opció: indítsa újra az újraindítást
7. lépés: Most konfigurálja a HAProxy terheléselosztót a haproxy alapértelmezett konfigurációs fájljának szerkesztésével, azaz.e. “/ Etc / haproxy / haproxy.CFF ”. A fájl szerkesztéséhez futtassa a következő parancsot
$ sudo vi / etc / haproxy / haproxy.vöTipp: Kérjük, készítsen biztonsági másolatot az eredeti fájlról, hogy ha valami baj történne, akkor biztonságban legyünk. A biztonsági mentés végrehajtásához használja a következő parancsot:
$ sudo cp / etc / haproxy / haproxy.cfg / etc / haproxy / haproxy.vö.origMost lépjen a fájl végére, és szerkessze a következő információkat:
frontend Local_Serverkötés 10.0.12.10:80
mód http
default_backend webszerver
háttérszerver
mód http
egyensúlyi robot
opció előre
http-request set-header X-Forwarded-Port% [dst_port]
http-request add-header X-Forwarded-Proto https, ha ssl_fc
opció httpchk HEAD / HTTP / 1.1rnHost: localhost
szerver web1 10.0.12.15:80
szerver web2 10.0.12.16:80
jegyzet: Ne felejtse el megváltoztatni a fenti fájl IP-címeit a webszervereihez hozzáadott címekre.
8. lépés: Ellenőrizze a fenti fájl konfigurációs szintaxisát a következő paranccsal:
$ sudo haproxy -c -f / etc / haproxy / haproxy.vöHa minden jól megy, akkor a következő kimenetet jeleníti meg: „A konfigurációs fájl érvényes.”Ha bármilyen hibát észlel a kimenetben, ellenőrizze újra a konfigurációs fájlt, és ellenőrizze újra.
9. lépés: Indítsa újra a HAProxy szolgáltatást a módosítások alkalmazásához
$ sudo service haproxy restartA konfiguráció tesztelése
Itt az ideje, hogy megnézzük, megfelelően működik-e a beállításunk. Adja meg a terheléselosztó rendszer IP-jét egy webböngészőben (Esetünkben ez 10.0.12.10), és folyamatosan frissítse az oldalt 2-4 alkalommal, hogy ellenőrizze, hogy a HAProxy terheléselosztó megfelelően működik-e. Különböző IP-címeket vagy bármilyen szöveget kell látnia, amelyet beírt az indexbe.html fájlt, ha folytatja az oldal többszöri frissítését.
Az ellenőrzés másik módja az, ha egy webkiszolgálót offline állapotba kapcsol, és ellenőrzi, hogy egy másik webszerver szolgáltatja-e a kéréseket.
Ez minden most! Próbálja ki a HAProxy kísérletezését, hogy többet tudjon meg a működéséről. Elülső.g., megpróbálhatod:
- Különböző webszerverek integrálása az nginx mellett.
- A terhelés-kiegyenlítő algoritmus megváltoztatása a körmérkőzésre másra.
- A HAProxy állapotfelmérés konfigurálása annak megállapításához, hogy a háttérszerver működik-e vagy sem.
- Ragadós munkamenetek alkalmazása a felhasználó ugyanazon háttér-kiszolgálóhoz való csatlakoztatásához.
- A HAProxy statisztikák segítségével betekintést nyerhet a szerverek forgalmáról.
A HAProxy átfogó dokumentációval rendelkezik mind a HAProxy közösségi kiadáshoz, mind a HAProxy vállalati verzióhoz. Fedezze fel ezt a dokumentációt, hogy minél több betekintést nyerjen a kiszolgálói környezet teljesítményének és megbízhatóságának javításához.
Ezt az útmutatót sikeresen végrehajtották a Debian 10-en (Buster). Próbálja meg telepíteni a HAProxy-t más Debian-alapú disztribúciókra, például Ubuntu, Linux Mint stb. Kérjük, ne felejtse el megosztani ezt az útmutatót másokkal.