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

Jak nainstalovat HAProxy na CentOS 8

V tomto tutoriálu vám ukážeme, jak nainstalovat HAProxy na váš CentOS 8. Pro ty z vás, kteří nevěděli, HAProxy je bezplatný nástroj pro vyrovnávání zatížení a proxy s vysokou dostupností HTTP/TCP server. Šíří požadavky mezi více serverů za účelem zmírnění problémů způsobených selháním jednoho serveru. HA Proxy používá řada vysoce profilovaných webů včetně GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter a Tuenti a používá se v produktu OpsWorks od Amazon Web Services.

Tento článek předpokládá, že máte alespoň základní znalosti Linuxu, víte, jak používat shell, a co je nejdůležitější, hostujete svůj web na vlastním VPS. Instalace je poměrně jednoduchá a předpokládá, že běží v účtu root, pokud ne, možná budete muset přidat 'sudo ‘ k příkazům pro získání oprávnění root. Ukážu vám krok za krokem instalaci HAProxy na CentOS 8.

Předpoklady

  • Server s jedním z následujících operačních systémů:CentOS 8.
  • Abyste předešli případným problémům, doporučujeme použít novou instalaci operačního systému.
  • Přístup SSH k serveru (nebo stačí otevřít Terminál, pokud jste na počítači).
  • non-root sudo user nebo přístup k root user . Doporučujeme jednat jako non-root sudo user , protože však můžete poškodit svůj systém, pokud nebudete při jednání jako root opatrní.

Nainstalujte HAProxy na CentOS 8

Krok 1. Nejprve začněme tím, že zajistíme, aby byl váš systém aktuální.

sudo clean all
sudo dnf update

Krok 2. Instalace HAProxy na CentOS 8.

HAProxy je k dispozici na výchozím CentOS 8, nyní použijte následující dnf příkaz k instalaci HAProxy:

sudo dnf install haproxy

Krok 3. Konfigurace HAProxy.

Vytvoříme konfigurační soubor /etc/haproxy/haproxy.cfg obsahující potřebná nastavení a konfigurace:

sudo nano /etc/haproxy/haproxy.cfg

Do souboru zadejte následující:

global
    log         127.0.0.1 local2
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    stats socket /var/lib/haproxy/stats
    ssl-default-bind-ciphers PROFILE=SYSTEM
    ssl-default-server-ciphers PROFILE=SYSTEM
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000
frontend main
    bind *:5000
    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             app
backend static
    balance     roundrobin
    server      static 127.0.0.1:4331 check
backend app
    balance     roundrobin
    server  app1 127.0.0.1:5001 check
    server  app2 127.0.0.1:5002 check
    server  app3 127.0.0.1:5003 check
    server  app4 127.0.0.1:5004 check

Podrobnosti o konfiguraci a další informace si můžete prohlédnout na této adrese URL. Jakmile nakonfigurujete HAProxy, je čas spustit službu:

sudo systemctl start haproxy
sudo systemctl enable haproxy

Krok 4. Nakonfigurujte bránu firewall.

Přidáme HAProxy do firewallu CentOS 8 a aktualizujeme pravidla pomocí následujících příkazů:

sudo firewall-cmd --add-port=8088/tcp --permanent
sudo firewall-cmd --reload

Krok 5. Nakonfigurujte protokolování HAProxy.

Pro konfiguraci standardního protokolování HAProxy upravte /etc/rsyslog.conf a povolit příjem UDP Syslog na portu 514:

sudo nano /etc/rsyslog.conf
...
# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
module(load="imudp") # needs to be done just once
input(type="imudp" port="514")
...
*.info;mail.none;authpriv.none;cron.none,local2.none /var/log/messages
local2.* /var/log/haproxy.log
...

Potom uložte konfigurační soubor a spusťte příkaz níže, abyste zkontrolovali případné chyby:

rsyslogd -N1
sudo systemctl restart rsyslog haproxy

Krok 6. Nakonfigurujte Apache X-Forwarded-For Logging na serverech backend.

Nyní se přihlásíme k backendovým serverům a nakonfigurujeme Apache tak, aby protokoloval hlavičky X-Forwarded-For. Výchozí řádek, který měníme, je:

...
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
...

Upravte tento řádek tak, aby vypadal takto:

...
LogFormat "\"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
...

Uložte soubor a restartujte Apache:

apachectl configtest
sudo systemctl restart httpd

Krok 7. Testování HAProxy Load Balancer.

Chcete-li ověřit, zda je HAProxy schopno vyrovnávat zatížení požadavků HTTP, přejděte do prohlížeče a přistupujte k HAProxy pomocí názvu hostitele nebo IP adresy.

Gratulujeme! Úspěšně jste nainstalovali HAProxy. Děkujeme, že jste použili tento návod k instalaci HAProxy na vaše systémy CentOS 8. Pro další pomoc nebo užitečné informace vám doporučujeme navštívit oficiální web HAProxy.


Cent OS
  1. Jak nainstalovat PHP 7, 7.2 a 7.3 na CentOS 7

  2. Jak nainstalovat Java 11 &12 na CentOS 7

  3. Jak nainstalovat Wine 4.0 na CentOS 7

  1. Jak nainstalovat Vim 8.2 na CentOS 7

  2. Jak nainstalovat VirtualBox na CentOS 7

  3. Jak nainstalovat Git na CentOS 8

  1. Jak nainstalovat Docker na CentOS 8

  2. Jak nainstalovat Java 8 &11 na Centos 8

  3. Jak nainstalovat MySQL na CentOS 8