Kuormituksen tasapainottaminen on yleisin tapa jakaa saapuva verkkoliikenne useiden taustapalvelinten kesken. Tämä tekee sovelluksesta erittäin saatavan, vaikka jotkin palvelimet menisivät jostain syystä. Kuormituksen tasapainotus lisää verkkosovelluksen tehokkuutta ja luotettavuutta. HAProxy-kuormituksen tasapainotinta käytetään samaan tarkoitukseen. Se on teollisuudessa eniten käytetty kuorman tasaaja. Virallisen verkkosivuston mukaan HAProxy-laitetta käyttävät johtavat yritykset, kuten AWS, Fedora, Github ja monet muut.
HAProxy tai High Availability Proxy tarjoaa korkean käytettävyyden ja välityspalvelimen. Se on kirjoitettu C-muodossa ja toimii TCP / IP-mallin verkko- ja sovelluskerroksilla. Parasta on, että sillä on ilmainen yhteisöversio ja se on avoimen lähdekoodin sovellus. Se toimii Linux-, FreeBSD- ja Solaris-käyttöjärjestelmissä. Yritysversio on myös siellä, mutta sillä on hintalappu.
Tässä oppaassa näemme Kuinka asentaa HAProxy ja määrittää kuormituksen tasauspalvelin Debian 10: een.
Edellytykset:
- "Sudo" -käyttö kaikkiin koneisiin ja perustiedot komentojen suorittamisesta Linux-päätelaitteessa.
- Yksityiset IP-osoitteet lisätään kuormituksen tasapainotus- ja taustapalvelimiin.
- Debian 10 -käyttöjärjestelmä asennettuna kaikkiin koneisiin.
HAProxyn asentaminen Debian 10: een
Oletamme, että oppaamme on seuraava IP-osoitteen määritys:
- HAProxy-kuormituksen tasapainotin 10.0.12.10
- Verkkopalvelin1: IP-osoite: 10.0.12.15
- Verkkopalvelin2: IP-osoite: 10.0.12.16
Vaihe 1. Päivitä Debian-järjestelmän arkisto ja paketit
Suorita ensin alla olevat komennot kaikissa järjestelmissä päivittääksesi ohjelmistopaketit uusimpaan.
$ sudo apt -päivitys$ sudo apt päivitys -y
Vaihe: 2 Asenna Nginx taustapalvelimiin
Valmista taustapalvelimet asentamalla Nginx-verkkopalvelin kuhunkin. Voit myös asentaa muita verkkopalvelimia, kuten apache.
Asenna Nginx suorittamalla seuraavat komennot jokaisessa ympäristösi taustapalvelimessa:
$ sudo apt asenna nginxVaihe: 3 Kun Nginx on asennettu taustapalvelimiin, käynnistä palvelu alla olevan kuvan mukaisesti:
$ Sudo systemctl start nginxKÄRKI: Voimme myös hallita nginx-verkkopalvelinta alla olevan komennon avulla:
$ sudo / etc / init.d / nginx "vaihtoehto"vaihtoehto: Aloita uudelleenkäynnistystilan pysäytys
Vaihe: 4 Luo mukautetut hakemistosivut jokaisen Nginx-verkkopalvelimen verkkokansioon. Tämä auttaa meitä erottamaan, mikä taustapalvelin palvelee saapuvia pyyntöjä.
Suorita seuraavat tehtävät jokaisella verkkopalvelimella:
Varmuuskopioi alkuperäinen hakemistotiedosto seuraavalla komennolla:
$ sudo cp / usr / share / nginx / html / index.html / usr / share / nginx / html / index.html.origLisää mukautettua tekstiä hakemistoon.html-tiedosto. Lisäämme jokaisen verkkopalvelimen IP-osoitteen.
Verkkopalvelin 1:
$ sudo echo "Verkkopalvelin 1: 10.0.12.15 "| sudo tee / usr / share / nginx / html / index.htmlVerkkopalvelin 2:
$ sudo echo "Verkkopalvelin 2: 10.0.12.16 "| sudo tee / usr / share / nginx / html / index.htmlVoit myös käyttää vi editoria, jos sinusta tuntuu mukavammalta. Tämä näkyy alla:
$ sudo vi / usr / share / nginx / html / index.htmlKun tiedosto avataan, kirjoita teksti ja tallenna tiedosto.
Avaa oletusarvoinen virtuaalinen isäntätiedosto hakemistossa / etc / nginx / sites-available / ”.
$ sudo nano / etc / nginx / sites-available / defaultVaihda nyt palvelinlohkon sisällä juurikäsky "/ var / www / html": sta "/ usr / share / nginx / html".
Tarkista Nginx-kokoonpano suorittamalla seuraava komento:
$ sudo nginx -tVaihe 5: Käynnistä palvelu nyt uudestaan komennolla:
$ sudo systemctl käynnistä nginx uudelleenVoit tarkistaa nginxin tilan seuraavalla komennolla:
$ sudo systemctl status nginxVaihe: 6 Asentaaksesi HAProxy Debian 10: een (Buster), suorita seuraava komento kuorman tasapainottimessa.
$ sudo apt asenna haproxy -yKärki: Kun HAProxy on asennettu, voit hallita HAProxyä init-komentosarjan kautta. Aseta tätä varten "käytössä" -parametriksi 1 kohdassa "/ etc / default / haproxy" alla olevan kuvan mukaisesti:
$ sudo vi / etc / default / haproxyKÄYTÖSSÄ = 1
Seuraavaa vaihtoehtoa voidaan nyt käyttää init-komentosarjan kanssa:
$ sudo service haproxy “-vaihtoehto.”vaihtoehto: Aloita uudelleenkäynnistystilan pysäytys
Vaihe: 7 Määritä nyt HAProxy-kuormituksen tasapainotin muokkaamalla haproksin oletusasetustiedostoa, ts.e. “/ Etc / haproksi / haproksi.CFG ”. Voit muokata tätä tiedostoa suorittamalla seuraavan komennon
$ sudo vi / etc / haproxy / haproxy.vrtKärki: Varmuuskopioi alkuperäinen tiedosto, jotta jos jokin menee pieleen, olemme kaikki turvassa. Suorita varmuuskopiointi seuraavalla komennolla:
$ sudo cp / etc / haproxy / haproxy.cfg / etc / haproksi / haproksi.vrt.origSiirry nyt tiedoston loppuun ja muokkaa seuraavia tietoja:
käyttöliittymä Local_Serversitoa 10.0.12.10:80
tila http
default_backend-verkkopalvelin
backend-verkkopalvelin
tila http
tasapaino roundrobin
vaihtoehto eteenpäin
http-request set-header X-edelleenlähetetty-portti% [dst_port]
http-request add-header X-Forwarded-Proto https if ssl_fc
vaihtoehto httpchk HEAD / HTTP / 1.1rnHost: paikallinen isäntä
palvelimen verkko1 10.0.12.15:80
palvelimen web2 10.0.12.16:80
Merkintä: Älä unohda muuttaa yllä olevan tiedoston IP-osoitteita Web-palvelimiin lisäämäsi osoitteeksi.
Vaihe: 8 Tarkista yllä olevan tiedoston kokoonpanosyntaksi seuraavalla komennolla:
$ sudo haproxy -c -f / etc / haproxy / haproxy.vrtJos kaikki menee oikein, se näyttää seuraavanlaisen tuloksen: “Kokoonpanotiedosto on kelvollinen.”Jos tulostuksessa ilmenee virheitä, tarkista asetustiedosto uudelleen ja tarkista se uudelleen.
Vaihe: 9 Käynnistä nyt HAProxy-palvelu uudelleen muutosten toteuttamiseksi
$ sudo service haproxy restartKokoonpanon testaaminen
Nyt on aika tarkistaa, toimiiko asetuksemme oikein. Syötä kuorman tasausjärjestelmän IP-osoite verkkoselaimeen (Meidän tapauksessamme se on 10.0.12.10) ja päivitä sivu jatkuvasti 2–4 kertaa nähdäksesi, toimiiko HAProxy-kuormituksen tasapainotin oikein. Sinun pitäisi nähdä eri IP-osoitteet tai mikä tahansa teksti, jonka olet kirjoittanut hakemistoon.html-tiedosto, kun jatkat sivun päivittämistä useita kertoja.
Toinen tapa tarkistaa on ottaa yksi verkkopalvelin offline-tilaan ja tarkistaa, palveleeko toinen verkkopalvelin pyyntöjä.
Tässä kaikki tältä erää! Kokeile kokeilla HAProxy-ohjelmaa saadaksesi lisätietoja sen toiminnasta. Esimerkiksi.g., voit kokeilla:
- Erilaisten verkkopalvelimien integrointi nginxin viereen.
- Kuormituksen tasapainotusalgoritmin vaihtaminen muuhun kuin pyöreään robiniin.
- Määrittämällä HAProxy-terveystarkastus sen selvittämiseksi, toimiiko taustapalvelin vai ei.
- Käyttämällä tahmea istuntoja yhdistää käyttäjä samaan taustapalvelimeen.
- HAProxy-tilastojen avulla saat tietoa palvelinten liikenteestä.
HAProxylla on kattava dokumentaatio sekä HAProxy-yhteisöversiolle että HAProxy Enterprise -versiolle. Tutustu tähän ohjeeseen saadaksesi lisää tietoa palvelinympäristön suorituskyvyn ja luotettavuuden parantamisesta.
Tämä opas on suoritettu onnistuneesti Debian 10: ssä (Buster). Yritä asentaa HAProxy muihin Debian-pohjaisiin distroihin, kuten Ubuntu, Linux Mint jne. Älä unohda jakaa tätä opasta muille.