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 tasapainotinVahvista 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äivitysAsenna seuraavaksi HA-välityspalvelin kuvan mukaisesti
# nam asennus haproxyKun asennus on onnistunut, siirry haproxy-hakemistoon.
# CD / jne / haproxyParas 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.bakJatka seuraavaksi ja avaa asetustiedosto
koska haproxy.cfgVarmista, 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.confVarmista, 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.confLiitä seuraavat rivit, tallenna ja poistu
local2.=info / oli / Hirsi / haproxy-access.log #Käyttölokipaikallinen2.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 uudelleenKä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 rsyslogVaihe 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äivitysSeuraava asennus EPEL (Extra Packages for Enterprise Linux)
# nam asennus lämmin vapautusAsenna Nginx suorittamalla komento:
# nam asennus nginxSeuraavaksi 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.htmlPalvelimelle_02
# kaiku 'palvelin_02. Hei ! Tervetuloa toiseen verkkopalvelimeen' > index.htmlJotta muutokset tulevat voimaan, käynnistä Nginx uudelleen
# systemctl käynnistä nginx uudelleenVaihe 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.132Sinun 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-osoiteEnsimmä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.