Ubuntu

Kako namestiti in konfigurirati HAproxy v Ubuntu 20.04 LTS

Kako namestiti in konfigurirati HAproxy v Ubuntu 20.04 LTS
HAproxy je odprtokoden in lahek paket, ki ponuja visoko razpoložljivost in uravnoteženje obremenitve za programe, ki temeljijo na TCP in HTTP. Razporeja obremenitev med spletnimi in aplikacijskimi strežniki. HAproxy je na voljo za skoraj vse distribucije Linuxa. Je široko uporabljen izravnalnik obremenitve, ki je priljubljen zaradi svoje učinkovitosti, zanesljivosti ter majhnega pomnilnika in odtisa CPU. V tej objavi bomo razložili, kako namestiti in konfigurirati HAproxy v sistem Ubuntu.

Imamo tri naprave. Na en strežnik bomo namestili HAproxy, na dva pa Apache. Naš strežnik HAproxy bo nato deloval kot izravnalnik obremenitve in razporedil obremenitev med spletne strežnike Apache.

Opomba: Postopek in ukazi, omenjeni v tej objavi, so bili preizkušeni Ubuntu 20.04 LTS (Focal Fossa). Isti postopek velja tudi za distribucijo Debian in Mint.

Podrobnosti o omrežju

Uporabili bomo tri strežnike Ubuntu; vsi v istem omrežju. Podrobnosti o naših strežnikih so naslednje:

Ime gostitelja: HAproxy, naslov IP: 192.168.72.157 (Frontend strežnik)
Ime gostitelja: spletni strežnik1, naslov IP: 192.168.72.158 (stranski strežniki)
Ime gostitelja: spletni strežnik2, naslov IP: 192.168.72.159 (stranski strežniki)

Opomba: Na vseh strežnikih morate imeti privilegije sudo.

En stroj bomo konfigurirali kot izravnalnik obremenitve, druga dva pa kot spletna strežnika. Strežnik HAproxy bo naš prednji strežnik, ki bo prejemal zahteve uporabnikov in jih posredoval na dva spletna strežnika. Spletni strežniki bodo naši Backend strežniki, ki bodo prejemali te posredovane zahteve.

Takole je videti naša nastavitev:

Nastavitev spletnih strežnikov - Backend strežniki

V tem poglavju bomo nastavili dva spletna strežnika (spletni strežnik in spletni strežnik2) kot naši zaledni strežniki.

Na spletnem strežniku1 (192.168.72.158)

V spletnem strežniku izvedite spodnje korake. Imena gostiteljev in naslove IP zamenjajte z ustreznimi naslovi IP in imeni gostiteljev vaših spletnih strežnikov.

1. Konfigurirajte datoteko gostitelja

Vklopljeno spletni strežnik, uredite / etc / hosts mapa:

$ sudo nano / etc / hosts

Nato dodajte vnos imena gostitelja za HAproxy strežnik, kot sledi:

hostname-of-HAproxy IP-naslov-HAproxy

V našem primeru bi bilo to:

HAproxy 192.168.72.157

2. Nastavite spletni strežnik Apache

Zdaj namestite spletni strežnik Apache z uporabo spodnjega ukaza v terminalu. Našo objavo lahko obiščete tudi na Kako namestiti spletni strežnik Apache v Linux.

$ sudo apt namestite apache2

Nato omogočite in zaženite storitev Apache z uporabo spodnjih ukazov v terminalu:

$ sudo systemctl omogoči apache2
$ sudo systemctl zaženi apache2

Ustvarite indeksno datoteko za spletni strežnik z uporabo spodnjega ukaza v terminalu:

$ echo "

zdravo! To je spletni strežnik1: 192.168.72.158

"| sudo tee / var / www / html / index.html

Če se v vašem sistemu izvaja požarni zid, boste morali dovoliti promet Apache prek njega:

$ sudo ufw dovoli 80 / tcp

Nato znova naložite konfiguracije požarnega zidu:

$ ufw ponovno naloži

Zdaj poskusite dostopati do spletnega mesta v spletnem brskalniku s tipkanjem http: // čemur sledi naslov IP ali ime gostitelja vašega spletnega strežnika.

http: // ime gostitelja ali naslov IP

Lahko pa tudi preizkusite spletno stran z ukazom curl.

$ curl

Na spletnem strežniku-2 192.168.72.159)

V drugem spletnem strežniku izvedite spodnje korake. Imena gostiteljev in naslove IP zamenjajte z ustreznimi naslovi IP in imeni gostiteljev vaših spletnih strežnikov.

1. Konfigurirajte datoteko gostitelja

V spletni strežnik2, uredite / etc / hosts mapa:

$ sudo nano / etc / hosts

Nato dodajte vnos imena gostitelja za HAproxy strežnik, kot sledi:

HAproxy 192.168.72.157

2. Namestite spletni strežnik Apache

Zdaj namestite spletni strežnik Apache z uporabo spodnjega ukaza v terminalu.

$ sudo apt namestite apache2

Nato omogočite in zaženite storitev Apache z uporabo spodnjih ukazov v terminalu:

$ sudo systemctl omogoči apache2
$ sudo systemctl zaženi apache2

Ustvarite indeksno datoteko za spletni strežnik2 z uporabo spodnjega ukaza v terminalu:

$ echo "

zdravo! To je spletni strežnik2: 192.168.72.159

"| sudo tee / var / www / html / index.html

Dovoli Apache v požarnem zidu:

$ sudo ufw dovoli 80 / tcp

in nato znova naložite konfiguracije požarnega zidu:

$ ufw ponovno naloži

Zdaj poskusite dostopati do spletnega mesta v spletnem brskalniku s tipkanjem http: // čemur sledi naslov IP ali ime gostitelja.

http: // ime gostitelja ali naslov IP

Druga možnost je, da z ukazom curl preizkusite spletno stran.

$ curl

Zdaj so naši spletni strežniki Apache pripravljeni.

Nastavitev strežnika Frontend za uravnoteženje obremenitve HAproxy

V tem razdelku bomo nastavili izravnalnik obremenitve HAproxy za naš spletni strežniki. Ta strežnik HAproxy bo deloval kot prednji strežnik in sprejema dohodne zahteve strank.

Na HAproxy strežnik (192.168.72.157), izvedite spodnje korake za nastavitev izravnalnika obremenitve.

1. Konfigurirajte datoteko gostitelja

Uredite / etc / hosts datoteko z uporabo spodnjega ukaza v terminalu:

$ sudo nano / etc / hosts

Za oba dodajte naslednje vnose v ime gostitelja Apač spletnih strežnikov skupaj z lastnim imenom gostitelja:

192.168.72.157 HAproksi
192.168.72.158 spletni strežnik1
192.168.72.159 spletni strežnik2

Zdaj shranite in zaprite / etc / hosts mapa.

Namestitev HAproxy izravnalnika obremenitve

Zdaj bomo v tem koraku namestili HAproxy na enega od naših strežnikov Ubuntu (192.168.72.157). To storite tako, da posodobite apt z naslednjim ukazom v terminalu:

$ sudo apt-get posodobitev

Nato posodobite pakete z uporabo spodnjega ukaza:

$ sudo apt-get nadgradnja

Zdaj namestite HAproxy z naslednjim ukazom v terminalu:

$ sudo sudo apt namestite haproxy

Ko je namestitev strežnika HAproxy končana, jo lahko potrdite z naslednjim ukazom v terminalu:

$ haproxy -v

Prikazala vam bo nameščeno različico HAproxy v vašem sistemu, ki potrjuje, da je bila HAproxy uspešno nameščena.

Konfiguriranje HAproxy kot izravnalnika obremenitve

V naslednjem poglavju bomo HAproxy konfigurirali kot izravnalnik obremenitve. Narediti tako, uredite / etc / haproxy / haproxy.prim mapa:

$ sudo nano / etc / haproxy / haproxy.prim

V haproksi dodajte naslednje vrstice.cfg, ki nadomesti naslove IP z vašimi naslovi IP.

The frontend web-frontend v zgornjih konfiguracijskih vrsticah pove HAproxyju, da posluša dohodne zahteve na vratih 80 od 192.168.72.157 in jih nato posredujte zalednim strežnikom, konfiguriranim pod backend spletni zaledni. Med konfiguriranjem zamenjajte naslove IP z ustreznimi naslovi IP vaših spletnih strežnikov.

Konfiguriranje nadzora HAproxy

Z nadzorom HAproxy si lahko ogledate veliko informacij, vključno s stanjem strežnika, prenesenimi podatki, časom delovanja, hitrostjo sej itd. Če želite konfigurirati nadzor HAproxy, dodajte naslednje vrstice v konfiguracijsko datoteko na naslovu / etc / haproxy / haproxy.prim:

poslušaj statistiko
vezava 192.168.72.157: 8080
način http
možnost naprej
možnost httpclose
statistika omogoči
statistika show-legende
statistika osveži 5s
stats uri / stats
statistika področje Haproxy \ Statistika
stats auth kbuzdar: kbuzdar         # Prijava uporabnika in geslo za spremljanje
stats admin if TRUE
default_backend spletni zaledni

Zgornja konfiguracija omogoča HAproxy â € œstatistikaâ € strani z uporabo statistika direktivo in jo zavaruje z http osnovno preverjanje pristnosti z uporabniškim imenom in geslom, ki jih definira stats auth direktive.

Ko končate s konfiguracijami, shranite in zaprite haproksi.cfg.

Zdaj preverite konfiguracijsko datoteko z uporabo spodnjega ukaza v terminalu:

$ haproxy -c -f / etc / haproxy / haproxy.prim

Naslednji izhod kaže, da so konfiguracije pravilne.

Zdaj, da uporabite konfiguracije, znova zaženite storitev HAproxy:

$ sudo systemctl znova zaženite haproxy.storitev

Ustavil se bo in nato zagnal storitev HAproxy.

Če želite preveriti stanje storitve HAproxy, bi bil ukaz:

$ sudo systemctl status haproxy.storitev

The aktiven (teče) stanje v naslednjem izhodu kaže, da je strežnik HAproxy omogočen in deluje dobro.

Tu je še nekaj drugih ukazov za upravljanje strežnika HAproxy:

Če želite zagnati strežnik HAproxy, bi bil ukaz:

$ sudo systemctl start haproxy.storitev

Če želite zaustaviti strežnik HAproxy, bi bil ukaz:

$ sudo systemctl stop haproxy.storitev

Če želite začasno onemogočiti strežnik HAproxy, bi bil ukaz:

$ sudo systemctl onemogoči haproxy.storitev

Če želite znova omogočiti strežnik HAproxy, bi bil ukaz:

$ sudo systemctl omogoči haproxy.storitev

Preskusite HAproxy

Pred preskusom nastavitve HAproxy preverite, ali imate povezavo s spletnimi strežniki. Na strežniku HAproxy pingajte oba spletna strežnika po njihovih naslovih IP ali imenih gostiteljev.

$ ping ime gostitelja-ali-ip-naslov

Naslednji izhod kaže, da lahko strežnik HAproxy doseže oba spletna strežnika.

Preizkusite HA Proxy s pomočjo spletnega brskalnika

Zdaj na strežniku HAproxy odprite kateri koli spletni brskalnik in vnesite http: // čemur sledi naslov IP strežnika HAproxy, ki je v našem primeru 192.168.72.157.

http: // 192.168.72.157

Strežnik HAproxy bo alternativno zahtevo poslal na oba spletna strežnika po metodi krožno. To lahko preizkusite tako, da nekajkrat znova naložite spletno stran.

To je odgovor, ki smo ga prejeli, ko smo obiskali http: // 192.168.72.157 prvič:

To je odgovor, ki smo ga dobili, ko smo znova naložili spletno stran:

Namesto imena IP naslova strežnika HAproxy lahko uporabite tudi ime gostitelja.

Preizkusite HA Proxy z uporabo curl

Ukaz curl v Linuxu lahko uporabite tudi za preizkus nastavitve HAproxy. Odprite terminal in vnesite curl čemur sledi naslov IP ali ime gostitelja strežnika HAproxy.

$ curl 192.168.72.157

ali

$ curl HAproxy

Nekajkrat zaženite ukaz curl in videli boste, kako se odziv izmenjuje med obema spletnima strežnikoma.

Namesto da večkrat zaženete ukaze, lahko za preskus strežnika HAproxy zaženete tudi naslednji enovrstni skript:

$ medtem ko je res; naredite curl 192.168.72.157; spanje 1; Končano

Testiranje nadzora HAproxy

Za dostop do strani za nadzor HAproxy vnesite http: // čemur sledi naslov IP / ime gostitelja strežnika HAproxy in vrata 8080 / stats:

http: // 192.168.72.157: 8080 / statistika

ali

http: // HAproxy: 8080 / stats

Prikaže se naslednje polje za preverjanje pristnosti. Enter uporabniško ime in geslo ste že nastavili v konfiguracijah in nato pritisnite v redu.

To je statistično poročilo za naš strežnik HAproxy.

Tam imate namestitev in konfiguracijo izravnalnika obremenitve HAproxy v sistemu Linux. Pravkar smo razpravljali o osnovnih nastavitvah in konfiguraciji HAproxy kot izravnalnika obremenitve za spletne strežnike Apache. Ogledali smo si tudi nekaj ukazov za upravljanje strežnika HAproxy. Na koncu smo preizkusili uravnoteženje obremenitve prek brskalnika in ukaz curl. Za več informacij obiščite uradno dokumentacijo HAproxy

SuperTuxKart za Linux
SuperTuxKart je odličen naslov, zasnovan tako, da vam brezplačno ponuja izkušnjo Mario Kart v vašem sistemu Linux. Igrati je precej zahtevno in zabavn...
Vadnica za bitko za Wesnoth
Bitka za Wesnoth je ena izmed najbolj priljubljenih odprtokodnih strateških iger, ki jih lahko trenutno igrate. Ne samo, da se ta igra razvija že zelo...
0 A.D. Vadnica
Od številnih strateških iger tam 0 A.D. uspe izstopati kot izčrpen naslov in zelo globoka, taktična igra, čeprav je odprtokodna. Razvoj igre deluje ze...