GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat a nakonfigurovat HAProxy na CentOS 8 / RHEL 8

HAProxy znamená High Availability Proxy, je to bezplatný a open source nástroj pro vyrovnávání zátěže, který umožňuje vyvážit příchozí provoz (TCP a na základě HTTP ) distribucí mezi backendové servery pomocí různých kritérií.

Jinými slovy, můžeme říci, že HAProxy se používá k zajištění odolnosti proti chybám a vysoké dostupnosti v případě, že jeden uzel dostává příliš mnoho souběžných požadavků. Používají jej nejznámější webové stránky jako GitHub, Stack Overflow a Tumbler.

V tomto článku budeme diskutovat o tom, jak nainstalovat a nakonfigurovat HAProxy na CentOS 8/RHEL 8 pro webové servery Nginx. Níže jsou uvedeny podrobnosti o nastavení mé laboratoře haproxy,

  • HAProxy Server – 192.168.1.10 (haproxy-centos8)
  • Nginx Server 1 – 192.168.1.11 (nginx-node01)
  • Nginx Server 2 – 192.168.1.12 (nginx-node01)

Pojďme se vrhnout na kroky instalace a konfigurace HAProxy na CentOS 8 / RHEL 8

Krok:1) Aktualizujte soubor /etc/hosts vašeho HAProxy serveru

Přihlaste se do svého systému CentOS 8 nebo RHEL 8, kde nainstalujete haproxy, přidejte následující řádky do souboru /etc/hosts,

192.168.1.10    haproxy-centos8
192.168.1.11    nginx-node01
192.168.1.12    nginx-node02

Po aktualizaci souboru hosts se ujistěte, že můžete pingnout na uzly Nginx,

Krok:2) Nainstalujte a nakonfigurujte HAProxy na CentOS 8 / RHEL 8

Balíček Haproxy je k dispozici ve výchozích úložištích balíčků CentOS 8 a RHEL 8, takže jej lze snadno nainstalovat pomocí příkazu dnf. Před instalací haproxy se však doporučuje aktualizovat váš systém. Proveďte tedy následující příkaz

[email protected] ~]# dnf update -y
[email protected] ~]# reboot

Nyní použijte následující příkaz dnf k instalaci haproxy,

[[email protected] ~]# dnf install haproxy

Jakmile je haproxy úspěšně nainstalován, nakonfigurujte jej úpravou jeho konfiguračního souboru „/etc/haproxy/haproxy.cfg “.

Před úpravou souboru je vždy dobrým zvykem vytvořit zálohu původního souboru a spustit následující příkaz,

[[email protected] ~]# cd /etc/haproxy/
[[email protected] haproxy]# cp haproxy.cfg haproxy.cfg-org
[[email protected] haproxy]#

V konfiguračním souboru upravíme dvě sekce frontend a backend . V sekci Frontend definujeme haproxy IP a její port, uri statistiky a název backendu. V sekci Backend definujeme typ algoritmu pro vyrovnávání zátěže, který budeme používat, jako je kruhové zpracování a nejmenší připojení atd., a název backendového serveru, IP adresy a port, příklad je uveden níže,

[[email protected] haproxy]# vi haproxy.cfg
…………………
frontend http_balancer
    bind 192.168.1.10:80
    option http-server-close
    option forwardfor
    stats uri /haproxy?stats

#    acl url_static       path_beg       -i /static /images /javascript /stylesheets
#    acl url_static       path_end       -i .jpg .gif .png .css .js
#    use_backend static          if url_static
    default_backend     nginx_webservers

backend nginx_webservers
    mode        http
    balance     roundrobin
    option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost    
    server  nginx-node01  192.168.1.11:80  check
    server  nginx-node02  192.168.1.12:80  check
 ………………………………

Uložte a ukončete soubor

Nakonfigurujte rsyslog tak, aby ukládal všechny statistiky HAProxy, upravte konfigurační soubor rsyslog „/etc/rsyslog.conf “ a zrušte komentář na řádku 19 a 20,

[[email protected] ~]# vi /etc/rsyslog.conf
……
module(load="imudp")
input(type="imudp" port="514")
……

Uložte a ukončete soubor.

Nyní vytvořte soubor haproxy.conf pro rsyslog , vložte následující řádky

[[email protected] ~]# vi /etc/rsyslog.d/haproxy.conf
local2.=info     /var/log/haproxy-access.log
local2.notice    /var/log/haproxy-info.log

uložte a ukončete soubor

Restartujte a povolte službu rsyslog, aby byla dostupná po restartování

[[email protected] ~]# systemctl restart rsyslog
[[email protected] ~]# systemctl enable rsyslog

Nyní konečně spusťte haproxy, ale před spuštěním haproxy služby nastavte následující selinuxové pravidlo

[[email protected] ~]# setsebool -P haproxy_connect_any 1

Spusťte a povolte haproxy pomocí příkazů pod systemctl

[[email protected] ~]# systemctl start haproxy
[[email protected] ~]# systemctl enable haproxy

Povolte haproxy port (v našem případě je to 80) v operačním firewallu, spusťte příkaz pod firewall-cmd,

[[email protected] ~]# firewall-cmd --permanent --add-port=80/tcp
[[email protected] ~]# firewall-cmd --reload

Až nyní je instalace a konfigurace HAProxy dokončena, přejděme k uzlům Nginx

Krok:3) Nainstalujte NGINX a spusťte jeho službu

Přihlaste se do obou uzlů nginx, nainstalujte nginx a spusťte jeho službu pomocí následujících příkazů.

# dnf install nginx -y
# systemctl start nginx
# systemctl enable nginx

Upravme soubor index.html příslušného uzlu,

Pro nginx-node01

[[email protected] ~]# cd /usr/share/nginx/html
[[email protected] html]# echo "Nginx Node01 - Welcome to First Nginx Web Server" > index.html

Pro nginx-node02

[[email protected] ~]# cd /usr/share/nginx/html
[[email protected] html]# echo "Nginx Node02 - Welcome to 2nd Nginx Web Server" > index.html

Povolte port Nginx (80) v bráně firewall operačního systému v obou uzlech pomocí níže uvedeného příkazu

# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload

Krok:4) Otestujte, zda vaše HAProxy funguje správně nebo ne

Přihlaste se k haproxy serveru a spusťte několikrát příkaz curl, abyste zjistili, zda je provoz distribuován způsobem round-robin

[[email protected] ~]# curl 192.168.1.10

Perfektní, to potvrzuje, že haproxy funguje správně, protože rozděluje provoz mezi dva uzly,

Pojďme to ověřit také z webového prohlížeče,

Výše uvedené potvrzuje, že HAProxy se úspěšně nakonfigurovalo na CentOS 8 a RHEL 8.

Stav svého haproxy můžete zobrazit prostřednictvím webového prohlížeče, zadejte url:http:///haproxy?stats

V našem případě bude adresa URL http://192.168.1.10/haproxy?stats

Můžeme také zobrazit statistiky HAProxy ze souboru protokolu ( /var/log/haproxy-access.log ).

To je vše z tohoto tutoriálu, doufám, že vám tyto kroky pomohou hladce nastavit HAProxy na CentOS 8 a RHEL 8. Podělte se prosím o své cenné zpětné vazby a komentáře.

Přečtěte si také :Jak nastavit Django Python Framework na CentOS 8


Cent OS
  1. Jak nainstalovat a nakonfigurovat HAProxy na CentOS/RHEL 7/6

  2. CentOS / RHEL 7 :Jak nainstalovat a nakonfigurovat telnet

  3. Jak nainstalovat a nakonfigurovat Sambu v CentOS / RHEL

  1. Nainstalujte a nakonfigurujte HAProxy na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat a nakonfigurovat R na RHEL 8 / CentOS 8 Linux System

  3. Jak nainstalovat a nakonfigurovat sambu na RHEL 8 / CentOS 8

  1. Nainstalujte a nakonfigurujte VNC Server v CentOS 7 a RHEL 7

  2. Jak nainstalovat a nakonfigurovat oVirt 4.0 na CentOS 7 / RHEL 7

  3. Jak nainstalovat a nakonfigurovat Jenkins na CentOS 7 a RHEL 7