Kuinka määrittää HAProxy Nginxin kuormituksen tasapainottajaksi CentOS 8:ssa

Kuinka Maarittaa Haproxy Nginxin Kuormituksen Tasapainottajaksi Centos 8 Ssa



High Availability Proxy, lyhennetty myös HAProxyksi, on kevyt ja nopea kuormitustasaaja, joka toimii myös välityspalvelimena. Kuormituksen tasapainottajana sillä on ratkaiseva rooli saapuvan verkkoliikenteen jakamisessa useiden verkkopalvelimien kesken tiettyjen kriteerien mukaisesti. Näin tehdessään se varmistaa korkean käytettävyyden ja vikasietoisuuden, jos samanaikaisia ​​pyyntöjä on liian monta, mikä saattaa ylikuormittaa yhtä verkkopalvelinta.

HaProxia käyttävät suositut sivustot, kuten Tumblr, GitHub ja StackOverflow. Tässä oppaassa opastamme sinut HAProxyn asennuksen läpi verkkopalvelimissa, jotka toimivat Nginxillä.

Laboratorion asetukset

3 esiintymää CentOS 7 -palvelimista kuvan mukaisesti







Isäntänimi           IP-osoitteet

load_balancer      3.17.12.132
palvelin_01          3.19.229.234
palvelin_02          3.17.9.217

Vaihe 1: Muokkaa kuormituksen tasapainottimen /etc/hosts-tiedostoa

Aloita kirjautumalla kuormantasausjärjestelmään ja muokkaamalla /etc/hosts-tiedostoa sisältämään kahden verkkopalvelimen isäntänimet ja IP-osoitteet kuvan osoittamalla tavalla.



$ koska / jne / isännät
3.19.229.234   palvelin_01
3.17.9.217     palvelin-02



Kun olet valmis, tallenna muutokset ja sulje asetustiedosto.





Siirry nyt jokaiselle web-palvelimelle ja päivitä /etc/hosts tiedosto kuormituksen tasapainottimen IP-osoitteella ja isäntänimellä

3.17.12.132   kuormituksen tasapainotin

Vahvista sen jälkeen, että voit pingata kuormantasaajan palvelimelta 01



Ja samoin palvelimelta_02

Varmista myös, että voit pingata palvelimia kuormituksen tasapainottimesta.

täydellinen! kaikki palvelimet voivat kommunikoida kuormituksen tasaajan kanssa!

Vaihe 2: Asenna ja määritä HA-välityspalvelin kuormanjakolaitteeseen

Koska HA Proxy on helposti saatavilla CentOS:n virallisesta arkistosta, asennamme sen käyttämällä yum- tai dnf-pakettienhallintaa.

Mutta kuten aina, päivitä järjestelmä ensin

# nam päivitys

Asenna seuraavaksi HA-välityspalvelin kuvan mukaisesti

# nam asennus haproxy

Kun asennus on onnistunut, siirry haproxy-hakemistoon.

# CD / jne / haproxy

Paras käytäntö edellyttää, että varmuuskopioimme kaikki asetustiedostot ennen muutosten tekemistä. Joten varmuuskopioi haproxy.cfg tiedosto nimeämällä se uudelleen.

# mv haproxy.cfg  haproxy.cfg.bak

Jatka seuraavaksi ja avaa asetustiedosto

koska haproxy.cfg

Varmista, että teet muutoksen kuvan mukaisesti

#-------------------------------------------------- ---------------------
# Yleiset asetukset
#-------------------------------------------------- ---------------------
maailmanlaajuisesti
loki         127.0.0.1 local2 #Lokimääritys

chroot / oli / lib / haproxy
pidfile / oli / juosta / haproxy.pid
maxconn 4000
käyttäjä        haproxy #Haproxy käynnissä käyttäjän ja ryhmän 'haproxy' alla
ryhmä       haproxy
demoni

# ota stats unix -liitäntä käyttöön
tilastot-pistoke / oli / lib / haproxy / tilastot

#-------------------------------------------------- ---------------------
# yleisiä oletusasetuksia, joita kaikki 'kuuntelu' ja 'tausta'-osiot ovat
# käytä, jos sitä ei ole määritetty niiden lohkossa
#-------------------------------------------------- ---------------------
oletusarvot
tila                   http
log                     maailmanlaajuisesti
vaihtoehto                  httplog
vaihtoehto                  dontlognull
vaihtoehto http-server-close
vaihtoehto eteenpäin       paitsi 127.0.0.0 / 8
vaihtoehto                  uudelleenlähetys
yrittää uudelleen 3
aikakatkaisu http-pyyntö    10s
aikakatkaisujono           1 min
aikakatkaisu yhteys         10s
aikakatkaisu asiakas          1 min
aikakatkaisupalvelin          1 min
aikakatkaisu http-keep-alive 10s
aikakatkaisun tarkistus           10 s
maxconn 3000

#-------------------------------------------------- ---------------------
#HAProxy Monitoring Config
#-------------------------------------------------- ---------------------
kuuntele haproxy3-seurantaa * : 8080 #Haproxy Monitoring ajetaan portissa 8080
tila http
vaihtoehto eteenpäin
vaihtoehto httpclose
tilastot ota käyttöön
tilastot osoittavat legendoja
tilastojen päivitys 5s
tilastot uri / tilastot #URL-osoite HAProxy-valvontaan
stats realm Haproxy\ Statistics
stats auth Salasana123: Salasana123 #Käyttäjä ja salasana valvontakojelautaan kirjautumiseen
tilastojen ylläpitäjä jos TOTTA
default_backend app-main #Tämä on valinnainen taustajärjestelmän seurantaan

#-------------------------------------------------- ---------------------
# Käyttöliittymän määritys
#-------------------------------------------------- ---------------------
frontend pää
sitoa * : 80
vaihtoehto http-server-close
vaihtoehto eteenpäin
default_backend app-main

#-------------------------------------------------- ---------------------
# BackEnd round robin tasapainoalgoritmina
#-------------------------------------------------- ---------------------
backend app-main

tasapaino roundrobin #Tasapainoalgoritmi

vaihtoehto httpchk HEAD / HTTP / 1.1 \r\nHost:\ localhost
#Tarkista, että palvelinsovellus on toiminnassa ja kunnossa - 200 tilakoodi

palvelinpalvelin_01 3.19.229.234: 80 tarkistaa #Nginx1

palvelin server_02 3.17.9.217: 80 tarkistaa #Nginx2

Muista muokata verkkopalvelimien isäntänimeä ja IP-osoitteita kahden viimeisen rivin mukaisesti. Tallenna muutokset ja poistu.

Seuraava vaihe on määrittää Rsyslog pystymään kirjaamaan HAProxy-tilastot.

# koska / jne / rsyslog.conf

Varmista, että poistat alla olevien rivien kommentit salliaksesi UDP-yhteydet

$ModLoad imudp
$UDPServerRun 514

Jatka seuraavaksi ja luo uusi asetustiedosto haproxy.conf

# koska / jne / rsyslog.d / haproxy.conf

Liitä seuraavat rivit, tallenna ja poistu

local2.=info / oli / Hirsi / haproxy-access.log #Käyttöloki
paikallinen2.ilmoitus / oli / Hirsi / haproxy-info.log #Huoltotiedot - taustajärjestelmä, kuormituksen tasapainottaja

Jotta muutokset tulevat voimaan, käynnistä rsyslog-daemon uudelleen kuvan osoittamalla tavalla:

# systemctl käynnistä rsyslog uudelleen

Käynnistä sitten ja ota HAProxy käyttöön

# systemctl käynnistä rsyslog
# systemctl ota rsyslog käyttöön

Varmista, että HAProxy on käynnissä

# systemctl status rsyslog

Vaihe 3: Asenna ja määritä Nginx

Nyt jäljellä on vain Nginxin asennus. Kirjaudu jokaiselle palvelimelle ja päivitä ensin järjestelmäpaketit:

# nam päivitys

Seuraava asennus  EPEL (Extra Packages for Enterprise Linux)

# nam asennus lämmin vapautus

Asenna Nginx suorittamalla komento:

# nam asennus nginx

Seuraavaksi käynnistä ja ota Nginx käyttöön

# systemctl käynnistä nginx
# systemctl ota nginx käyttöön

Aiomme sitten muokata index.html-tiedostoa molemmissa tapauksissa osoittaaksemme tai simuloidaksemme, kuinka kuormituksen tasapainotin pystyy jakamaan verkkoliikenteen molempien palvelimien kesken.

Palvelimelle_01

# kaiku 'server_01. Hei ! Tervetuloa ensimmäiseen verkkopalvelimeen' > index.html

Palvelimelle_02

# kaiku 'palvelin_02. Hei ! Tervetuloa toiseen verkkopalvelimeen' > index.html

Jotta muutokset tulevat voimaan, käynnistä Nginx uudelleen

# systemctl käynnistä nginx uudelleen

Vaihe 4: Testaa, toimiiko kuormituksen tasapainotin

Olemme vihdoin siinä kohdassa, jossa haluamme nähdä, toimiiko kokoonpano. Joten kirjaudu sisään kuormituksen tasapainottajaan ja suorita curl-komento toistuvasti

# kihara 3.17.12.132

Sinun pitäisi saada terminaaliin palvelin_01 ja palvelin_02 vuorotteleva tulos, joka näyttää index.html:n arvon

Testataan nyt verkkoselaimella. Selaa kuormantasauslaitteen IP-osoitetta

http: // kuormituksen tasapainottimen IP-osoite

Ensimmäinen sivu näyttää minkä tahansa web-palvelimen sisällön


Päivitä nyt verkkosivu ja tarkista, näyttääkö se sisältöä toiselta verkkopalvelimelta

täydellinen! Kuormituksen tasapaino jakaa IP-liikenteen tasaisesti kahden web-palvelimen välillä!
Tämä päättää tämän opetusohjelman HAProxyn asentamisesta ja määrittämisestä CentOS 8:ssa. Palautteesi arvostetaan suuresti.