Imamo postavljena tri stroja. Instalirat ćemo HAproxy na jedan poslužitelj, a Apache web poslužitelje na dva poslužitelja. Naš HAproxy poslužitelj tada će djelovati kao uravnoteživač opterećenja i rasporedit će opterećenje između Apache web poslužitelja.
Bilješka: Postupak i naredbe spomenuti u ovom postu testirani su na Ubuntu 20.04 LTS (žarišna fosa). Isti postupak vrijedi i za distribucije Debian i Mint.
Pojedinosti o mreži
Koristit ćemo tri Ubuntu poslužitelja; svi na istoj mreži. Pojedinosti naših poslužitelja su sljedeće:
Ime hosta: HAproxy, IP adresa: 192.168.72.157 (Frontend poslužitelj)Ime hosta: web-poslužitelj1, IP adresa: 192.168.72.158 (pozadinski poslužitelji)
Ime hosta: web-poslužitelj2, IP adresa: 192.168.72.159 (pozadinski poslužitelji)
Bilješka: Morate imati sudo privilegije na svim poslužiteljima.
Jedan ćemo stroj konfigurirati kao uravnoteživač tereta, a druga dva kao web poslužitelje. HAproxy poslužitelj bit će naš prednji poslužitelj koji će primati zahtjeve od korisnika i prosljeđivati ih na dva web poslužitelja. Web poslužitelji bit će naši Backend poslužitelji koji će primati one proslijeđene zahtjeve.
Ovako izgleda naša postavka:
Postavljanje web poslužitelja-Backend poslužitelji
U ovom ćemo odjeljku postaviti dva web poslužitelja (web-poslužitelj1 i web-poslužitelj2) kao naši pozadinski poslužitelji.
Na web-poslužitelju1 (192.168.72.158)
Izvršite korake u nastavku na svom web poslužitelju. Obavezno zamijenite imena hostova i IP adrese odgovarajućim IP adresama i imenima hostova vaših web poslužitelja.
1. Konfigurirajte datoteku hostova
Na web-poslužitelj1, uredi / etc / hosts datoteka:
$ sudo nano / etc / hostsZatim dodajte unos imena hosta za HAproxy poslužitelj kako slijedi:
hostname-of-HAproxy IP-adresa-HAproxyU našem scenariju to bi bilo:
HAproxy 192.168.72.1572. Postavljanje web poslužitelja Apache
Sada instalirajte web poslužitelj Apache pomoću naredbe u nastavku u terminalu. Također možete posjetiti našu objavu na Kako instalirati web poslužitelj Apache na Linux.
$ sudo apt instalirati apache2Zatim omogućite i pokrenite uslugu Apache pomoću naredbi u nastavku u Terminalu:
$ sudo systemctl omogući apache2$ sudo systemctl pokreni apache2
Stvorite indeksnu datoteku za web-poslužitelj1 koristeći donju naredbu u terminalu:
$ echo "zdravo! Ovo je web poslužitelj1: 192.168.72.158
"| sudo tee / var / www / html / index.htmlAko se vatrozid izvodi na vašem sustavu, morat ćete omogućiti Apacheov promet kroz njega:
$ sudo ufw dopušta 80 / tcpZatim ponovno učitajte konfiguracije vatrozida:
$ ufw ponovno učitajPokušajte pristupiti web mjestu u svom web pregledniku upisivanjem http: // nakon čega slijedi ili IP adresa ili ime hosta vašeg web poslužitelja.
http: // ime hosta-ili-IP-adresa
Možete i upotrijebiti naredbu curl za testiranje web stranice.
$ uvojakNa web poslužitelju-2 192.168.72.159)
Izvršite korake u nastavku na drugom web poslužitelju. Obavezno zamijenite imena hostova i IP adrese odgovarajućim IP adresama i imenima hostova vaših web poslužitelja.
1. Konfigurirajte datoteku hostova
U web-poslužitelj2, uredi / etc / hosts datoteka:
$ sudo nano / etc / hostsZatim dodajte unos imena hosta za HAproxy poslužitelj kako slijedi:
HAproxy 192.168.72.1572. Instalirajte web poslužitelj Apache
Sada instalirajte web poslužitelj Apache pomoću naredbe u nastavku u terminalu.
$ sudo apt instalirati apache2Zatim omogućite i pokrenite Apache uslugu pomoću naredbi u nastavku u Terminalu:
$ sudo systemctl omogući apache2$ sudo systemctl pokreni apache2
Stvorite indeksnu datoteku za web-poslužitelj2 pomoću naredbe u nastavku u Terminalu:
$ echo "zdravo! Ovo je web poslužitelj2: 192.168.72.159
"| sudo tee / var / www / html / index.htmlDopustite Apacheu u vatrozidu:
$ sudo ufw dopušta 80 / tcpa zatim ponovno učitajte konfiguracije vatrozida:
$ ufw ponovno učitajSada pokušajte pristupiti web mjestu u svom web pregledniku upisivanjem http: // nakon čega slijedi ili IP adresa ili ime hosta.
http: // ime hosta-ili-IP-adresa
Možete i upotrijebiti naredbu curl za testiranje web stranice.
$ uvojakSada su naši web poslužitelji Apache spremni.
Postavljanje HAproxy uravnoteživača opterećenja-Frontend poslužitelj
U ovom ćemo odjeljku postaviti HAproxy uravnoteživač opterećenja za naš web poslužitelji. Ovaj HAproxy poslužitelj će djelovati kao prednji poslužitelj i prihvaća dolazne zahtjeve klijenata.
Na HAproxy poslužitelj (192.168.72.157), izvedite korake u nastavku za postavljanje uravnoteživača opterećenja.
1. Konfigurirajte datoteku hostova
Uredite / etc / hosts datoteku pomoću naredbe u nastavku u terminalu:
$ sudo nano / etc / hostsDodajte sljedeće unose imena hosta za oba Apači web poslužitelja, zajedno s vlastitim imenom hosta:
192.168.72.157 HAproksi192.168.72.158 web-poslužitelj1
192.168.72.159 web-poslužitelj2
Sada spremite i zatvorite / etc / hosts datoteka.
Instaliranje HAproxy uravnoteživača opterećenja
U ovom ćemo koraku instalirati HAproxy na jedan od naših Ubuntu poslužitelja (192.168.72.157). Da biste to učinili, ažurirajte apt pomoću sljedeće naredbe u terminalu:
$ sudo apt-get ažuriranjeZatim ažurirajte pakete pomoću naredbe u nastavku:
$ sudo apt-get nadogradnjaSada instalirajte HAproxy pomoću sljedeće naredbe u terminalu:
$ sudo sudo apt instalirati haproxy
Kada je instalacija HAproxy poslužitelja gotova, možete je potvrditi pomoću naredbe u nastavku u Terminalu:
$ haproxy -vPokazat će vam instaliranu verziju HAproxyja na vašem sustavu koja potvrđuje da je HAproxy uspješno instaliran.
Konfiguriranje HAproxy-a kao uravnoteživača opterećenja
U sljedećem odjeljku konfigurirat ćemo HAproxy kao uravnoteživač opterećenja. Učiniti tako, uredite / etc / haproxy / haproxy.usp datoteka:
$ sudo nano / etc / haproxy / haproxy.uspU haproksi dodajte sljedeće retke.cfg datoteka koja zamjenjuje IP adrese vlastitim IP adresama.
The frontend web-frontend u gornjim konfiguracijskim redovima govori HAproxyju da preslušava dolazne zahtjeve na portu 80 od 192.168.72.157 a zatim ih proslijediti na pozadinske poslužitelje konfigurirane pod pozadina web-pozadina. Tijekom konfiguriranja zamijenite IP adrese odgovarajućim IP adresama vaših web poslužitelja.
Konfiguriranje nadzora HAproxyja
Pomoću HAproxy nadzora možete pregledati puno informacija, uključujući status poslužitelja, prenesene podatke, vrijeme rada, brzinu sesije itd. Da biste konfigurirali nadzor HAproxyja, dodajte sljedeće retke u konfiguracijsku datoteku koja se nalazi na / etc / haproxy / haproxy.usp:
slušajte statistikuvezati 192.168.72.157: 8080
način rada http
opcija forwardfor
opcija httpclose
statistika omogućuje
statistika show-legende
statistika osvježava 5s
statistika uri / statistika
statistika carstvo Haproxy \ Statistika
statistika auth kbuzdar: kbuzdar         # Prijava korisnika i lozinka za nadzor
statistika admin ako je ISTINA
default_backend web-pozadina
Gornja konfiguracija omogućuje HAproxy â € œstatistikaâ € stranicu pomoću statistika direktivom i osigurava ga s http osnovna provjera autentičnosti pomoću korisničkog imena i lozinke definirane statistika aut direktiva.
Nakon što završite s konfiguracijama, spremite i zatvorite haproksi.cfg datoteku.
Sada provjerite konfiguracijsku datoteku pomoću naredbe u nastavku u Terminalu:
$ haproxy -c -f / etc / haproxy / haproxy.uspSljedeći izlaz pokazuje da su konfiguracije ispravne.
Sada da biste primijenili konfiguracije, ponovo pokrenite uslugu HAproxy:
$ sudo systemctl ponovno pokrenite haproxy.servisZaustavit će se, a zatim pokrenuti uslugu HAproxy.
Da biste provjerili status HAproxy usluge, naredba bi bila:
$ sudo systemctl status haproxy.servisThe aktivan (trčanje) status u sljedećem izlazu pokazuje da je HAproxy poslužitelj omogućen i radi u redu.
Evo još nekih naredbi za upravljanje HAproxy poslužiteljem:
Da bi se pokrenuo HAproxy poslužitelj, naredba bi bila:
$ sudo systemctl start haproxy.servisDa bi se zaustavio HAproxy poslužitelj, naredba bi bila:
$ sudo systemctl zaustavi haproksi.servisU slučaju da želite privremeno onemogućiti HAproxy poslužitelj, naredba bi bila:
$ sudo systemctl onemogući haproxy.servisDa biste ponovno omogućili HAproxy poslužitelj, naredba bi bila:
$ sudo systemctl omogući haproxy.servisIspitajte HAproxy
Prije testiranja postavke HAproxy, provjerite jeste li povezani s web poslužiteljima. S vašeg HAproxy poslužitelja pingirajte oba web poslužitelja bilo prema njihovim IP adresama ili imenima hosta.
$ ping ime-hosta-ili-ip-adresaSljedeći izlaz pokazuje da HAproxy poslužitelj može doći do oba web poslužitelja.
Testirajte HA proxy pomoću web preglednika
Sada na svom HAproxy poslužitelju otvorite bilo koji web preglednik i upišite http: // nakon čega slijedi IP adresa HAproxy poslužitelja koja je u našem slučaju 192.168.72.157.
http: // 192.168.72.157HAproxy poslužitelj će alternativno poslati zahtjev na oba web poslužitelja metodom zaokruživanja. To možete testirati ponovnim učitavanjem web stranice nekoliko puta.
Ovo je odgovor koji smo dobili kada smo posjetili http: // 192.168.72.157 prvi put:
Ovo je odgovor koji smo dobili kada smo ponovno učitali web stranicu:
Možete koristiti i ime hosta umjesto IP adrese HAproxy poslužitelja.
Testirajte HA proxy pomoću uvijanja
Također možete upotrijebiti naredbu curl u Linuxu za testiranje postavke HAproxyja. Otvorite terminal i upišite kovrča nakon čega slijedi IP adresa ili ime hosta HAproxy poslužitelja.
$ curl 192.168.72.157ili
$ curl HAproxyPokrenite naredbu curl nekoliko puta i vidjet ćete da se odgovor izmjenjuje između oba web poslužitelja.
Umjesto da naredbe izvodite nekoliko puta, možete pokrenuti i sljedeću skriptu od jednog retka za testiranje HAproxy poslužitelja:
$ dok je istinito; uvijati 192.168.72.157; spavati 1; gotovo
Testiranje praćenja HAproxyja
Za pristup stranici praćenja HAproxy upišite http: // nakon čega slijedi IP adresa / ime hosta HAproxy poslužitelja i porta 8080 / statistika:
http: // 192.168.72.157: 8080 / statistikaili
http: // HAproxy: 8080 / statsPojavit će se sljedeći okvir za provjeru autentičnosti. Unesi korisničko ime i zaporka konfigurirali ste ranije u konfiguracijama, a zatim pritisnite u redu.
Ovo je statističko izvješće za naš HAproxy poslužitelj.
Tu imate instalaciju i konfiguraciju HAproxy uravnoteživača opterećenja na Linux sustavu. Upravo smo razgovarali o osnovnom postavljanju i konfiguraciji HAproxy-a kao uravnoteživača opterećenja za web poslužitelje Apache. Također smo pogledali neke naredbe za upravljanje HAproxy poslužiteljem. Na kraju smo testirali uravnoteženje opterećenja putem preglednika i naredbe curl. Za više informacija posjetite službenu dokumentaciju HAproxy