Pouze pro návštěvníky našeho blogu Získejte další 3 měsíce zdarma + 10% slevu na tříletý plán YSBLOG10
Chyťte dohodu

Jak nainstalovat Load Balancer na Linuxový server – Průvodce pro experty 2026

Instalace nástroje pro vyrovnávání zátěže na serveru Linux, vyberte softwarový balancer (HAProxy nebo Nginx), nainstalujte jej pomocí balíčku vaší distribuce manager, nakonfigurujte frontendový a backendový pool s kontrolami stavu a SSL, otevřete porty firewallu 80/443 a poté otestujte failover. Pro vysokou dostupnost přidejte druhý uzel a virtuální IP adresu s Keepalived.

V tomto podrobném návodu se naučíte, jak nainstalovat Load Balancer na Linuxový server pomocí HAProxy a Nginx, nakonfigurovat kontroly stavu a ukončení SSL, nasadit vysokou dostupnost s Keepalived, posílit zabezpečení, monitorovat výkon a vyhnout se běžným chybám. Pokyny jsou srozumitelné pro začátečníky, ale zároveň technicky přesné a vycházejí z reálných zkušeností s hostingem.

Co je to Load Balancer (a proč je důležitý)?

Co je to Load Balancer (a proč je důležitý)?

Vyvažovač zátěže (load balancer) distribuuje příchozí provoz mezi více aplikačních serverů, čímž se zlepšuje spolehlivost, rychlost a škálovatelnost. V Linuxu jsou oblíbenými open-source řešeními HAProxy (vysoce výkonná L4/L7 proxy) a Nginx (webový server a reverzní L7 proxy). Můžete vyvažovat HTTP/HTTPS (vrstva 7) nebo raw TCP (vrstva 4), přidávat kontroly stavu, perzistenci relace a odlehčení SSL.

Pro koho je tento průvodce určen

Tato příručka je určena pro vývojáře, správce systémů a majitele webů, kteří chtějí nastavit systémový vyvažovač zátěže v Linuxu pro webové aplikace, API, WordPress nebo mikroslužby. Předpokládá základní znalost příkazového řádku v Linuxu a přístup k příkazu sudo.

Možnosti vyvažování zátěže v Linuxu

Výběr správného nástroje závisí na vašem profilu provozu, funkcích a provozních preferencích.

  • HAProxy (doporučeno): Vynikající výkon, bohaté kontroly stavu, lepivost, pokročilé směrování, TLS, pozorovatelnost.
  • Nginx (otevřený zdrojový kód): Skvělý jako reverzní proxy/L7 balancer, jednoduchá konfigurace, silný ekosystém; pasivní kontroly stavu ihned po vybalení.
  • IPVS/LVS (prostřednictvím služby keepalived): Vyvažování zátěže na úrovni jádra (Layer 4) pro velmi vysokou propustnost; méně funkcí L7.

Pro většinu webových úloh začněte s HAProxy nebo Nginx. Pokud potřebujete miliony souběžných připojení s minimální režií a jednoduchou logikou L4, zvažte LVS/IPVS.

Předpoklady

  • Linuxový server: Ubuntu 22.04/24.04 nebo RHEL/AlmaLinux/Rocky 8/9.
  • Přístup root/sudo a základní znalosti sítí.
  • Alespoň dva backendové aplikační servery pro vyvážení provozu.
  • DNS záznam odkazující na veřejnou IP adresu vašeho load balanceru (nebo plovoucí/virtuální IP adresu v nastaveních HA).
  • Přístup firewallu k otevřeným portům 80/443 (a 8404/9000 pro statistiky, volitelné).

Rychlé rozhodnutí: HAProxy vs. Nginx

  • Pokud potřebujete pokročilé kontroly stavu, podrobné metriky, tabulky s pevnými hodnotami nebo náročné odlehčení SSL/TLS, zvolte HAProxy.
  • Pokud dáváte přednost známému webovému serveru + proxy stacku nebo jej již používáte pro statický obsah a ukládání do mezipaměti, zvolte Nginx.

Instalace HAProxy na Ubuntu/Debian

Pro instalaci použijte příkaz apt a poté nakonfigurujte frontendy/backendy, kontroly stavu a volitelné ukončení SSL.

sudo apt update
sudo apt install -y haproxy
# Enable HAProxy at boot
sudo systemctl enable haproxy
# Verify version
haproxy -v

Základní vyvažování zátěže HTTP s round-robin a kontrolami stavu:

# /etc/haproxy/haproxy.cfg
global
  log /dev/log local0
  log /dev/log local1 notice
  maxconn 50000
  user haproxy
  group haproxy
  daemon

defaults
  log     global
  mode    http
  option  httplog
  option  dontlognull
  timeout connect 5s
  timeout client  50s
  timeout server  50s
  option  http-server-close
  option  redispatch
  retries 3

frontend fe_http
  bind *:80
  mode http
  option forwardfor
  default_backend be_app

backend be_app
  mode http
  balance roundrobin
  option httpchk GET /health
  http-check expect status 200
  server app1 10.0.0.11:80 check
  server app2 10.0.0.12:80 check

listen stats
  bind *:8404
  mode http
  stats enable
  stats uri /stats
  stats refresh 10s
sudo haproxy -c -f /etc/haproxy/haproxy.cfg   # syntax check
sudo systemctl restart haproxy
sudo systemctl status haproxy --no-pager

Přidejte HTTPS (ukončení SSL) pomocí Let's Encrypt nebo vlastního balíčku certifikátů:

# Concatenate fullchain + private key into a single PEM (PEM must include key)
sudo mkdir -p /etc/haproxy/certs
sudo cat /etc/letsencrypt/live/example.com/fullchain.pem /etc/letsencrypt/live/example.com/privkey.pem | sudo tee /etc/haproxy/certs/example.com.pem > /dev/null
sudo chmod 600 /etc/haproxy/certs/example.com.pem

# Update haproxy.cfg to add HTTPS frontend
frontend fe_https
  bind *:443 ssl crt /etc/haproxy/certs/example.com.pem alpn h2,http/1.1
  mode http
  redirect scheme https code 301 if !{ ssl_fc }
  option forwardfor
  http-response set-header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
  default_backend be_app

sudo haproxy -c -f /etc/haproxy/haproxy.cfg
sudo systemctl reload haproxy

Volitelné: povolit trvalé relace pro stavové aplikace (např. starší PHP relace):

backend be_app
  mode http
  balance roundrobin
  cookie SRV insert indirect nocache
  option httpchk GET /health
  server app1 10.0.0.11:80 check cookie s1
  server app2 10.0.0.12:80 check cookie s2

Instalace HAProxy na RHEL/AlmaLinux/Rocky

sudo dnf install -y haproxy
sudo systemctl enable haproxy
sudo systemctl start haproxy
# SELinux: allow HAProxy to make outbound connections if needed
sudo setsebool -P haproxy_connect_any 1
# Firewalld: open HTTP/HTTPS and stats
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --add-port=8404/tcp --permanent
sudo firewall-cmd --reload

Instalace Nginxu jako nástroje pro vyrovnávání zátěže (Ubuntu/RHEL)

Nginx je skvělý pro vyvažování vrstvy 7 a reverzní proxying. Ve výchozím nastavení používá pasivní kontroly stavu (přepnutí na záložní server při výskytu chyb v upstreamu).

# Ubuntu/Debian
sudo apt update && sudo apt install -y nginx
sudo systemctl enable nginx

# RHEL family
sudo dnf install -y nginx
sudo systemctl enable --now nginx
sudo firewall-cmd --add-service=http --add-service=https --permanent
sudo firewall-cmd --reload

Vytvořte blok pro upstream a server pro vyvažování zátěže HTTP:

# /etc/nginx/conf.d/lb.conf
upstream app_backend {
  least_conn;
  server 10.0.0.11:80 max_fails=3 fail_timeout=30s;
  server 10.0.0.12:80 max_fails=3 fail_timeout=30s;
  keepalive 64;
}

server {
  listen 80;
  server_name example.com;

  location / {
    proxy_pass http://app_backend;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
  }

  location = /health {
    access_log off;
    add_header Content-Type text/plain;
    return 200 "OK";
  }
}
sudo nginx -t
sudo systemctl reload nginx

Pro HTTPS nainstalujte certifikáty pomocí Certbotu nebo vašeho poskytovatele, případně ukončete TLS na Nginxu a přepošlete obyčejný HTTP do backendů.

Vysoká dostupnost: Přidání virtuální IP adresy pomocí Keepalived

Abyste se vyhnuli selhání z jediného bodu, nasaďte dva uzly vyrovnávače zátěže (LB1 a LB2) a mezi nimi pomocí VRRP (Keepalived) přesuňte virtuální IP adresu (VIP). Pokud LB1 selže, LB2 automaticky převezme kontrolu.

# Install Keepalived
# Ubuntu/Debian
sudo apt install -y keepalived
# RHEL family
sudo dnf install -y keepalived

# Allow binding to VIP before assignment (recommended on the LB that runs HAProxy/Nginx)
echo "net.ipv4.ip_nonlocal_bind = 1" | sudo tee /etc/sysctl.d/99-nonlocalbind.conf
sudo sysctl --system

Příklad konfigurace Keepalived (použití různých priorit na každém uzlu; vyšší priorita je lepší):

# /etc/keepalived/keepalived.conf (LB1 - MASTER)
vrrp_instance VI_1 {
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 150
  advert_int 1
  authentication {
    auth_type PASS
    auth_pass StrongSecret123
  }
  virtual_ipaddress {
    203.0.113.50/32 dev eth0
  }
  track_script {
    chk_haproxy
  }
}

vrrp_script chk_haproxy {
  script "pidof haproxy"
  interval 2
  weight -30
}
# /etc/keepalived/keepalived.conf (LB2 - BACKUP)
vrrp_instance VI_1 {
  state BACKUP
  interface eth0
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
    auth_type PASS
    auth_pass StrongSecret123
  }
  virtual_ipaddress {
    203.0.113.50/32 dev eth0
  }
  track_script {
    chk_haproxy
  }
}

vrrp_script chk_haproxy {
  script "pidof haproxy"
  interval 2
  weight -30
}
sudo systemctl enable --now keepalived
ip addr show dev eth0 | grep 203.0.113.50   # VIP should appear on MASTER
# Open VRRP (protocol 112) if your firewall filters it (most clouds allow by default)

Nasměrujte své záznamy DNS A/AAAA na VIP. Otestujte přepnutí služeb při selhání zastavením HAProxy nebo Keepalived na LB1; VIP by se měla během několika sekund přesunout na LB2.

Bezpečnostní kalení

  • Firewall: Povolte pouze 80/443 (a 22 z vaší IP adresy). Omezte koncové body statistik podle IP adresy nebo autorizace.
  • TLS: Používejte moderní šifry, povolte HTTP/2, HSTS, sešívání OCSP a automatické obnovování Let's Encrypt.
  • Záhlaví: Nastavte X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Content-Security-Policy (jak to vaše aplikace umožňuje).
  • Nejmenší privilegium: Spouštějte služby bez oprávnění root, kde je to podporováno; udržujte balíčky aktualizované.
  • SELinux/AppArmor: Pokračujte v vynucování a nastavte požadované booleovské hodnoty (např. haproxy_connect_any).

Monitorování a protokolování

  • HAProxy: Povolit koncový bod statistik a exportér Prometheus (haproxy_exporter). Záznam do syslogu, analýza pomocí ELK nebo Loki.
  • Nginx: Záznamy o přístupu/chybách a také stub_status nebo nginx-exporter pro Prometheus.
  • Syntetické šeky: Monitorování uptime na VIP a backendech.
  • Kapacita: Sledujte CPU, paměť, deskriptory souborů a počet připojení.

Testování vyrovnávače zátěže

  • Základní dosažitelnost: curl -I http://example.com nebo https://example.com
  • Přeposílání hlaviček: curl -I -H „Hostitel: example.com“ http://VIP
  • Distribuce: Dočasně přidejte na každý backend záhlaví odpovědi pro identifikaci serverů a poté aktualizujte.
  • Zatížení: ab -n 1000 -c 50 https://example.com nebo siege -c50 -t1M https://example.com
  • Přepnutí při selhání: Zastavte jeden backend; provoz by se měl přesouvat bez chyb.
# Quick troubleshooting helpers
sudo ss -ltnp | grep -E "80|443|8404"
journalctl -u haproxy -f
journalctl -u nginx -f
journalctl -u keepalived -f
curl -I http://127.0.0.1:8404/stats
nginx -t && haproxy -c -f /etc/haproxy/haproxy.cfg

Časté chyby (a jejich řešení)

  • Neshoda SSL: Ujistěte se, že je v HAProxy PEM správné pořadí celého řetězce a klíčů; po obnovení znovu načtěte.
  • Kontroly stavu selhaly: Backendy musí zpřístupnit koncový bod s hodnotou 200 OK (např. /health). Pokud je veřejný, chraňte ho interně.
  • Zaseknuté relace nefungují: Potvrďte vložení souboru cookie a zda jej aplikace akceptuje; vyhněte se ukládání vrstev do mezipaměti a odstraňování souborů cookie.
  • Proxy hlavičky: Vždy přeposílejte hlavičky Host a X-Forwarded-*, aby URL adresy aplikací a detekce HTTPS byly správné.
  • Bloky firewallu: Otevřené porty v operačním systému a skupině cloudového zabezpečení. Mezi LB musí probíhat VRRP (proto 112).
  • Chyby navazování VIP: Nastavte net.ipv4.ip_nonlocal_bind=1 na uzlech, které spouštějí proxy před připojením VIP.

Scénáře skutečného světa

  • WordPress ve velkém měřítku: Ukončete TLS na HAProxy, ukládejte statické datové zdroje do mezipaměti v Nginxu za ním nebo v CDN a povolte pevné relace pouze v případě, že vaše úložiště relací PHP není centralizované (lepší: Redis pro relace).
  • Mikroslužby API: Používejte HAProxy s routingem založeným na cestě nebo hostiteli do více backendů. Přidejte omezení rychlosti a jističe pomocí tabulek s fixními parametry.
  • Nasazení s nulovými prostoji: Přidejte nové backendové uzly, vypusťte staré (nastavte váhu na 0 nebo zakažte) a poté je po dokončení připojení odstraňte.

YouStable Tip: Infrastruktura, která zjednodušuje vyvažování zátěže

Pokud nechcete manage každý kousek sám, YouStableJe cloudový VPS s dedikovaným serverem Díky virtuálním procesorům (vCPU), velké šířce pásma a volitelným plovoucím IP adresám je používání clusterů HAProxy/Nginx snadno a efektivně. Náš tým podpory vám může sdělit osvědčené postupy pro SSL, zabezpečení a vysokou dostupnost bez závislosti na dodavateli.

Shrnutí optimalizované pro vyhledávače: Jak nainstalovat Load Balancer na Linuxový server

  • Vyberte nástroj: HAProxy (pokročilá L4/L7) nebo Nginx (reverzní proxy L7).
  • Nainstalujte přes apt/dnf a povolte službu.
  • Konfigurace frontendu: 80/443 s kontrolami stavu, hlavičkami a ukončením SSL.
  • Definujte backendy: Serverový fond s kontrolami a volitelnými lepivými relacemi.
  • Zajistit: Zvyšte zabezpečení TLS, firewallu a administrátorských koncových bodů.
  • Škála a HA: Přidejte druhý LB a ponechte si VIP Keepalived.
  • Monitorování a testování: Metriky, protokoly a syntetické kontroly.

Často kladené otázky: Instalace Load Balanceru na Linuxový server

Co je lepší pro vyvažování zátěže v Linuxu: HAProxy nebo Nginx?

Pro většinu produkčních prostředí nabízí HAProxy bohatší kontroly stavu, pokročilé směrování a podrobné metriky. Nginx je vynikající, pokud jej již používáte jako Webový server a vyžadují jednoduché vyvažování L7. Oba dobře zvládají vysokou návštěvnost; vyberte na základě potřeb funkcí a znalosti týmu.

Jaký je rozdíl mezi vyvažováním zátěže na vrstvě 4 a vrstvě 7?

Vrstva 4 (TCP/UDP) přeposílá připojení bez kontroly HTTP. Je rychlá a efektivní (např. IPVS, HAProxy v režimu TCP). Vrstva 7 rozumí HTTP/HTTPS, což umožňuje směrování na základě cesty, manipulaci se záhlavími, soubory cookie a ukončení SSL. Pro webové aplikace, které potřebují inteligentnější směrování, použijte L7.

Jak přidám SSL do mého Linuxového vyrovnávače zátěže?

Ukončete TLS na úrovni load balanceru pomocí Let's Encrypt nebo certifikátů vydaných poskytovatelem. V HAProxy použijte PEM obsahující fullchain a privátní klíč. V Nginx nastavte ssl_certificate a ssl_certificate_key. Vynuťte silné šifry, HTTP/2 a HSTS a automatizujte obnovu.

Jak mohu zajistit vysokou dostupnost nástroje pro vyrovnávání zátěže?

Nasaďte alespoň dva uzly pro vyrovnávání zátěže a přiřaďte virtuální IP adresu pomocí Keepalived/VRRP. Nasměrujte DNS na VIP. Pokud primární LB selže, záloha automaticky převezme kontrolu. Zajistěte, aby oba uzly sdílely certifikáty a konfiguraci prostřednictvím automatizace.

Potřebuji pro aplikace WordPress nebo PHP fixed sessions?

Preferujte centralizované relace (Redis/Memcached), aby jakýkoli backend mohl obsloužit jakýkoli požadavek. Pokud to není možné, povolte jako dočasné řešení sticky sessions v HAProxy (cookie) nebo Nginx (ip_hash). Dlouhodobě externalizujte relace a nahrávání, abyste zabránili propojení uživatelů s jedním uzlem.

Jak mohu monitorovat vyrovnávač zátěže v Linuxu?

Použijte stránku se statistikami HAProxy a Prometheus haproxy_exporter nebo logy Nginx s nginx-exporter/stub_status. Sledujte doby odezvy, chyby, počet připojení a stav backendu. Centralizujte logy a nastavujte upozornění na dosažitelnost VIP a selhání backendu.

Mohu používat stejný server pro vyvažování zátěže a webhosting?

Můžete, ale oddělení rolí zlepšuje spolehlivost, zabezpečení a škálování. Pro malé weby může jeden Nginx poskytovat statický obsah a proxy pro aplikační servery. Pro větší stacky vyhraďte load balancer a škálujte backendy nezávisle, ideálně na cloudovém VPS, jako je YouStable.

Další kroky

  • Začněte s HAProxy na Linuxovém VPS a nakonfigurujte kontroly stavu.
  • Přidejte ukončení TLS a zesílené hlavičky.
  • Nasaďte sekundární LB a udržujte jeho dostupnost v režimu Keepalived pro vysokou dostupnost.
  • Automatizujte konfiguraci a synchronizaci certifikátů s Ansible.
  • Monitorujte pomocí Prometheus/Grafana a pravidelně testujte failover.

Pomocí výše uvedených kroků můžete s jistotou nainstalovat Load Balancer na Linuxový server, škálovat své aplikace a udržovat vysokou provozuschopnost. Pokud chcete rychlejší start, YouStablePlatforma VPS a odborné poradenství vám pomohou nasadit odolnou architekturu s vyváženou zátěží během hodin, nikoli dnů.

Sdílet přes:

Prahlad Prajapati

Prahlad je specialista na webhosting a expert na organický růst zaměřený na SEO z Indie. V digitálním prostoru působí od roku 2019 a pomáhá lidem rozvíjet jejich webové stránky pomocí čistých a udržitelných strategií. Je nadšený pro učení a rychlou adaptaci a věří, že malé detaily vedou k velkému úspěchu. Objevte jeho poznatky o webhostingu a SEO, které vám pomohou vylepšit vaši online prezentaci.

Zanechat komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

Přejděte na začátek