Instalace HAProxy 1.7 na Debian 9.1 (Stretch)

HAProxy je síťová softwarová aplikace, která nabízí vysokou dostupnost, vyvažování zátěže a proxy pro síťové aplikace TCP a HTTP. Je vhodný pro weby s vysokou návštěvností a pohání mnoho oblíbených webů na webu. Tento článek vám ukáže, jak nainstalovat a nakonfigurovat HAProxy na Debianu 9.1.

Ačkoli má HAProxy několik prominentních funkcí, tento článek se zaměřuje na to, jak nastavit HAProxy, aby "proxy" vaší webové aplikace.

Požadavky

  • Alespoň dva servery Vultr (pro funkci vyrovnávání zátěže) s vaším webem nebo webovou aplikací nasazené na obou z nich.

Instalace HAProxy

Debian 9 se již dodává s HAProxy 1.7 (nejnovější stabilní vydání v době psaní tohoto článku) a můžeme jej jednoduše nainstalovat pomocí apt-get:

# apt-get update
# apt-get install haproxy

Pokud byly předchozí příkazy úspěšné, nainstalovali jste HAProxy a můžete přejít k dalšímu kroku.

Konfigurace HAProxy

Konfigurační soubor HAProxy je rozdělen do dvou částí — „global“ a „proxy“. Jedna se zabývá konfigurací celého procesu, zatímco druhá se skládá z výchozí konfigurace, frontendu a backendu.

Globální sekce

Pomocí svého oblíbeného textového editoru otevřete /etc/haproxy/haproxy.cfga všimněte si předdefinovaných sekcí: „globální“ a „výchozí“. První věc, kterou možná budete chtít udělat, je zvětšit na maxconnrozumnou velikost, protože to ovlivňuje připojení, která HAProxy umožňuje. Příliš mnoho připojení může způsobit pád vaší webové služby kvůli mnoha požadavkům. Budete muset upravit velikost, abyste viděli, co vám vyhovuje. V globální sekci jsme zvolili maxconnhodnotu 3072.

global
    daemon
    maxconn 3072

Ve výchozí sekci přidejte následující řádek pod režim http:

option forwardfor

To přidá X-Forwarded-Forzáhlaví ke každému požadavku, což vašim backendovým serverům umožní zjistit původní IP adresu uživatele.

Přidáním tohoto řádku také povolíte režim zavření připojení HTTP na straně serveru a zároveň zachováte možnost podpory HTTP keep-alive na straně klienta. To snižuje latenci na straně klienta a pomáhá šetřit prostředky serveru:

option http-server-close

Pokud chcete používat keep-alive na straně klienta i serveru, můžete option http-keep-alivemísto toho použít . Tato možnost je zvláště užitečná, když jsou náklady na vytvoření nového připojení k serveru značné ve srovnání s náklady na získání požadovaného zdroje.

Nakonec bude výsledný konfigurační soubor vypadat nějak takto:

defaults
    mode http
    option forwardfor
    option http-server-close
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

Sekce proxy

Chcete-li nastavit proxy, budete muset do konfiguračního souboru přidat dvě části, které definují dvě části proxy: frontend a backend.

Konfigurace frontendu

Frontend se postará o vaše HTTP připojení. Na konec haproxy.cfgsouboru přidejte následující :

frontend http-frontend
    bind public_ip:80
    reqadd X-Forwarded-Proto:\ http
    default_backend wwwbackend

Nezapomeňte nahradit public_ipveřejnou IP adresou nebo názvem domény vašeho serveru.

Konfigurace backendu

Nastavte svůj backend přidáním následujících řádků na konec konfiguračního souboru:

backend wwwbackend
    server 1-www server1_ip:80 check
    server 2-www server2_ip:80 check
    server 3-www server3_ip:80 check

Zde použitá konfigurace backendu vytváří 3 připojení s názvem X-www. ( Xje 1, 2 nebo 3.) Každý z nich odpovídá serverX_ip:80 adrese. (Nahraďte serverX_ipIP adresami instancí Vultr.) To vám umožní vyvážit zatížení mezi každým serverem v zadané sadě serverů (za předpokladu, že každá IP adresa odpovídá jinému serveru). Tato checkmožnost umožňuje nástroji pro vyrovnávání zatížení provádět kontroly stavu serveru.

Uložte konfigurační soubor a restartujte HAProxy:

service haproxy restart

Pokud vše funguje, budete se moci připojit http://public_ip/(nahraďte je svou veřejnou IP nebo názvem domény, jak je nakonfigurováno v kroku frontendu) a prohlížet si svůj web.

Chyby ladění

Pokud se vaše instance HAProxy po vašich úpravách odmítne spustit, je pravděpodobné, že máte někde chybu v konfiguračním souboru. Chcete-li získat jasné zprávy o problému v konfiguračním souboru, můžete zkusit spustit HAProxy ručně pomocí tohoto příkazu:

# haproxy -f /etc/haproxy/haproxy.cfg

Pokud například vidíte výstup takto:

[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.

Potom jste zapomněli zadat číslo portu pro server 1-www.


Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)

Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)

Používáte jiný systém? Pokud si zakoupíte server Debian, měli byste mít vždy nejnovější bezpečnostní záplaty a aktualizace, ať už spíte nebo ne

Nastavte si svůj vlastní DNS server na Debian/Ubuntu

Nastavte si svůj vlastní DNS server na Debian/Ubuntu

Tento tutoriál vysvětluje, jak nastavit DNS server pomocí Bind9 na Debianu nebo Ubuntu. V celém článku nahraďte odpovídajícím způsobem název-vaše-domény.com. Při čt

Zkompilujte a nainstalujte Nginx pomocí modulu PageSpeed ​​na Debian 8

Zkompilujte a nainstalujte Nginx pomocí modulu PageSpeed ​​na Debian 8

V tomto článku uvidíme, jak zkompilovat a nainstalovat hlavní řadu Nginx z oficiálních zdrojů Nginx pomocí modulu PageSpeed, který vám umožňuje

Jak nainstalovat Kanboard na Debian 9

Jak nainstalovat Kanboard na Debian 9

Používáte jiný systém? Úvod Kanboard je bezplatný a otevřený softwarový program pro správu projektů, který je navržen tak, aby usnadnil a vizualizoval

Jak nainstalovat Gitea na Debian 9

Jak nainstalovat Gitea na Debian 9

Používáte jiný systém? Gitea je alternativní open source systém pro správu verzí s vlastním hostitelem poháněný systémem Git. Gitea je napsána v Golangu a je

Nainstalujte Lynis na Debian 8

Nainstalujte Lynis na Debian 8

Úvod Lynis je bezplatný nástroj pro audit systému s otevřeným zdrojovým kódem, který používá mnoho systémových administrátorů k ověření integrity a posílení svých systémů. já

Jak nainstalovat Thelia 2.3 na Debian 9

Jak nainstalovat Thelia 2.3 na Debian 9

Používáte jiný systém? Thelia je open source nástroj pro vytváření webových stránek pro e-business a správu online obsahu napsaného v PHP. Zdrojový kód Thelia i

Vytvoření sítě serverů Minecraft pomocí BungeeCord na Debian 8, Debian 9 nebo CentOS 7

Vytvoření sítě serverů Minecraft pomocí BungeeCord na Debian 8, Debian 9 nebo CentOS 7

Co budete potřebovat Vultr VPS s alespoň 1 GB RAM. Přístup SSH (s oprávněními root/administrátor). Krok 1: Instalace BungeeCord První věci

Jak nainstalovat Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Jak nainstalovat Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Golang je programovací jazyk vyvinutý společností Google. Díky své všestrannosti, jednoduchosti a spolehlivosti se Golang stal jedním z nejoblíbenějších

Resetujte kořenové heslo MySQL na Debian/Ubuntu

Resetujte kořenové heslo MySQL na Debian/Ubuntu

Pokud jste zapomněli své kořenové heslo MySQL, můžete ho resetovat podle kroků v tomto článku. Proces je poměrně jednoduchý a funguje na nich

Vytváření síťových sdílení pomocí Samby v Debianu

Vytváření síťových sdílení pomocí Samby v Debianu

Jsou chvíle, kdy potřebujeme sdílet soubory, které musí být viditelné pro klienty Windows. Vzhledem k tomu, že systémy založené na pojistkách fungují pouze na Linuxu, představujeme vás

Nastavení Counter Strike: Source na Debianu

Nastavení Counter Strike: Source na Debianu

V této příručce nastavíme herní server Counter Strike: Source na Debianu 7. Tyto příkazy byly testovány na Debianu 7, ale měly by také fungovat

Jak nainstalovat Unturned 2.2.5 na Debian 8

Jak nainstalovat Unturned 2.2.5 na Debian 8

V této příručce se dozvíte, jak nastavit server Unturned 2.2.5 na Vultr VPS se systémem Debian 8. Poznámka: Toto je upravená verze Unturned, která

Jak nainstalovat Cachet na Debian 8

Jak nainstalovat Cachet na Debian 8

V tomto tutoriálu se naučíte, jak nainstalovat Cachet na Debian 8. Cachet je výkonný open source systém stavových stránek. Instalace Tento tutoriál právě probíhá

Automaticky zálohujte více databází MySQL nebo MariaDB

Automaticky zálohujte více databází MySQL nebo MariaDB

Úvod V tomto zápisu si dobře projděte, jak zálohovat více databází MySQL nebo MariaDB, které sedí na stejném počítači pomocí vlastního bash skriptu.

Nastavení Chrootu v Debianu

Nastavení Chrootu v Debianu

Tento článek vás naučí, jak nastavit chroot jail v Debianu. Předpokládám, že používáte Debian 7.x. Pokud používáte Debian 6 nebo 8, může to fungovat, bu

Jak nainstalovat Reader Self 3.5 RSS Reader na Debian 9 LAMP VPS

Jak nainstalovat Reader Self 3.5 RSS Reader na Debian 9 LAMP VPS

Používáte jiný systém? Reader Self 3.5 je jednoduchá a flexibilní, bezplatná a open source, samostatně hostovaná RSS čtečka a alternativa Google Reader. Čtenář Sel

Jak nainstalovat Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Jak nainstalovat Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Používáte jiný systém? Backdrop CMS 1.8.0 je jednoduchý a flexibilní, mobilní, bezplatný a open source systém správy obsahu (CMS), který nám umožňuje

Jak nainstalovat SteamCMD na váš VPS

Jak nainstalovat SteamCMD na váš VPS

V tomto tutoriálu nainstalujeme SteamCMD. SteamCMD lze použít ke stažení a instalaci mnoha herních serverů Steam, jako je Counter-Strike: Global Offensiv

Upgradujte Python na Debian

Upgradujte Python na Debian

Jak možná víte, repozitáře Debianu se aktualizují velmi pomalu. V době psaní tohoto článku jsou verze vydání Pythonu na 2.7.12 a 3.5.2, ale v úložišti Debian 8

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více