• Digitální příslušenství
  • Server
  • Digitální život
  • Zásady ochrany osobních údajů
  • Kontaktujte nás
  1. Domov
  2. Článek
  3. Docker Nainstalujte Nginx

Docker Nainstalujte Nginx

Rsdaa 16/12/2021 1207
V tomto tutoriálu se podíváme na to, jak nainstalovat Nextcloud pomocí Docker a Docker Compose. Konkrétně nainstalujeme Nexcloud spolu s reverzním proxy Nginx a Let’s Encrypt SSL v dockerizovaném prostředí CentOS, Ubuntu nebo Debian. Tento tutoriál ukazuje, jak nasadit Nginx v kontejneru Docker. Kontejnerizací Nginx jsme snížili režii našeho správce systému. Již nebudeme muset spravovat Nginx prostřednictvím správce balíčků nebo jej sestavovat ze zdroje.

Příkaz Docker Pull. Chcete-li nainstalovat Sonarr pomocí Dockeru, musíte nejprve získat nejnovější verzi kontejneru Sonarr z linuxserver Docker Hub. LinuxServer je úložiště Docker s několika kontejnery aplikací HTPC a domácích serverů. Sudo docker pull linuxserver/sonarr Vytáhněte připravený kontejner Sonarr docker pomocí výše uvedeného příkazu.

Co je reverzní proxy? Jaké jsou jeho výhody?

Co je reverzní proxy? Reverzní proxy je druh serveru, který je umístěn v přední části mnoha dalších serverů a předává požadavky klientů na příslušné servery. Odpověď ze serveru je pak také přijata a předávána proxy serverem klientovi.

Proč byste použili takové nastavení? Existuje pro to několik dobrých důvodů. Toto nastavení lze použít k nastavení nástroje pro vyrovnávání zatížení, ukládání do mezipaměti nebo k ochraně před útoky.

Nebudu zde zacházet do podrobností. Místo toho vám ukážu, jak můžete využít koncept reverzního proxy k nastavení více služeb na stejném serveru.

Pořiďte stejný obrázek jako ten, který jste viděli výše. Co můžete udělat, je spustit server Ngnix v kontejneru dockeru v režimu reverzního proxy. Další webové služby lze také provozovat ve vlastních příslušných kontejnerech.

Kontejner Nginx bude nakonfigurován tak, aby věděl, která webová služba běží v kterém kontejneru.

Je to dobrý způsob, jak ušetřit náklady na hostování každé služby na jiném serveru. Díky reverznímu proxy serveru můžete mít na stejném linuxovém serveru spuštěno více služeb.

Nastavení Nginx jako reverzního proxy pro nasazení více služeb na stejný server pomocí Dockeru

Dovolte mi, abych vám ukázal, jak postupovat při konfiguraci výše uvedeného nastavení.

Pomocí těchto kroků můžete nainstalovat více kontejnerů webových aplikací spuštěných pod Nginx, přičemž každý samostatný kontejner odpovídá jeho vlastní příslušné doméně nebo subdoméně.

Nejprve se podívejme, co potřebujete, abyste mohli postupovat podle tohoto návodu.

Předpoklady

Abyste mohli snadno začít s tímto výukovým programem, budete potřebovat následující znalosti. I tak se bez nich obejdete.

Linuxový systém/server. Linuxový server můžete snadno nasadit během několika minut pomocí cloudové služby Linode.Znalost příkazů a terminálu Linuxu.Základní znalost Dockeru.Měli byste mít na svém linuxovém serveru nainstalovány Docker a Docker Compose. Přečtěte si prosím našeho průvodce instalací Docker a Docker Compose na CentOS. Měli byste také vlastnit doménu (abyste mohli nastavit služby na subdoménách).

V tutoriálu jsem jako příklad názvu domény použil doménu.com . Ujistěte se, že jste jej změnili podle svých vlastních domén nebo subdomén.

Kromě výše uvedeného se prosím přesvědčte také o následujících věcech:

Změňte záznamy DNS své domény

V panelu záznamů A/AAAA nebo CNAME vašeho poskytovatele názvu domény se ujistěte, že doména i subdomény (včetně www) směřují na IP adresu vašeho serveru.

Toto je příklad pro vaši referenci:

HostnameIP AddressTTLdomain.com172.105.50.178Default*172.105.50.178Defaultsub0.domain.com172.105.50.178Defaultsub1.domain.com172.105.50.178Default

Swap space

Abyste se ujistili, že všechny vaše kontejnerové aplikace jsou v pohodě a po jejich nasazení vám nikdy nedojde paměť, musíte mít v systému potřebný odkládací prostor.

Swap můžete vždy upravit podle dostupné paměti RAM ve vašem systému. Odkládací prostor můžete rozhodnout na základě balíčku kontejnerů aplikací na jediném serveru a odhadu jejich kumulativního využití RAM.

Krok 1: Nastavení kontejneru reverzního proxy serveru Nginx

Začněte nastavením reverzního proxy serveru nginx. Vytvořte adresář s názvem 'reverse-proxy' a přepněte se do něj:

Vytvořte soubor s názvem docker-compose.yml, otevřete jej ve svém oblíbeném textovém editoru založeném na terminálu, jako je Vim nebo Nano.

Pro reverzní proxy nginx budu používat obrázek jwilder/nginx-proxy. Zkopírujte a vložte následující do souboru docker-compose.yml:

Nyní si projdeme důležité části souboru pro vytvoření zprávy:

Deklarovali jste čtyři svazky, html, dhparam, vhost a certs. Jsou to trvalá data, která byste si určitě chtěli ponechat i poté, co byl kontejner mimo provoz. Soubor html & svazky vhost budou velmi důležité v příštím nasazení kontejneru Let's Encrypt. Jsou navrženy tak, aby spolupracovaly. Docker Socker je namontován uvnitř kontejneru pouze pro čtení. Ten je nezbytný pro reverzní proxy kontejner ke generování konfiguračních souborů nginx, detekci dalších kontejnerů se specifickou proměnnou prostředí. Zásada restartu je nastavena na vždy. Další možnosti zahrnují při selhání a bez zastavení. V tomto případě se vždy zdálo vhodnější. Porty 80 a 443 jsou vázány na hostitele pro http a https, resp.. Nakonec používá jinou síť, nikoli výchozí síť mostu. Použití uživatelem definované sítě je velmi důležité. To pomůže izolovat všechny kontejnery, které mají být proxy, spolu s povolením reverzního proxy kontejneru přeposílat klienty do jejich požadovaných/zamýšlených kontejnerů a také umožnit kontejnerům komunikovat mezi sebou (což není možné s výchozí mostovou sítí pokud není icc pro démona nastaveno na hodnotu true).

Mějte na paměti, že YML je velmi náročný na karty a odsazení.

Krok 2: Nastavte kontejner pro automatické generování certifikátu SSL

K tomu můžete použít obrázek kontejneru jrcs/letsencrypt-nginx-proxy-companion.

Do stejného souboru docker-compose.yml, který jste použili dříve, přidejte následující řádky:

V této definici služby:

Používáte přesně stejné objemy, jaké jste použili pro kontejner reverzního proxy. Sdílení svazků html a vhost je nezbytné, aby byla výzva ACME letsencrypt úspěšná. Tento kontejner vygeneruje certifikáty v /etc/nginx/certs v kontejneru. To je důvod, proč sdílíte tento svazek se svým reverzním proxy kontejnerem. Svazek dhparam bude obsahovat soubor dhparam. Zásuvka je připojena k detekci dalších kontejnerů se specifickou proměnnou prostředí. Zde jste definovali dvě proměnné prostředí. Proměnná NGINX_PROXY_CONTAINER ukazuje na reverzní proxy kontejner. Nastavte jej na název kontejneru. DEFAULT_EMAIL je e-mail, který bude použit při generování certifikátů pro každou doménu/subdoménu. Možnost Depend_on je nastavena tak, že tato služba nejprve čeká na spuštění reverzního proxy a teprve potom se spustí toto. Nakonec tento kontejner také sdílí stejnou síť. To je nezbytné, aby oba kontejnery mohly komunikovat.

Krok 3: Dokončete soubor pro vytvoření dockeru

Docker Install Nginx Alpine

Jakmile jsou definice služby hotové, dokončete docker- vytvořte soubor s následujícími řádky:

Síť sítě je nastavena na externí, protože kontejnery proxy budou také muset používat tuto síť. A pokud ponecháme síť vytvořenou pomocí docker-compose, bude název sítě záviset na aktuálním adresáři. Tím se vytvoří podivně pojmenovaná síť.

Kromě toho budou muset ostatní kontejnery nastavit tuto síť tak, aby byla externí, jinak budou muset tyto složené soubory také sídlit ve stejném adresáři, z čehož žádný není ideální.

Proto vytvořte síť pomocí

Následuje celý obsah souboru docker-compose.yml.

Nakonec můžete tyto dva kontejnery (Ngnix a Let's Encrypt) nasadit pomocí následujícího příkazu:

Krok 4: Ověřte, že reverzní proxy Ngnix funguje

Kontejner, který bude sloužit frontendu, bude muset definovat dvě proměnné prostředí.

VIRTUAL_HOST: pro generování reverzní konfigurace proxy

LETSENCRYPT_HOST: pro generování potřebných certifikátů

Ujistěte se, že máte správné hodnoty pro tyto dvě proměnné. Můžete spustit nginx-dummy image s reverzním proxy takto:

Pokud nyní přejdete na svou subdoménu použitou v předchozím příkazu, měli byste vidět zprávu ze serveru Ngnix.

Jakmile jej úspěšně otestujete, můžete běžící kontejner dockeru zastavit:

Můžete také zastavit reverzní proxy Ngnix, pokud jej nebudete používat:

Alpine Docker Install Nginx

Krok 5: Spusťte další kontejnery služeb s reverzním proxy

Proces nastavení dalších kontejnerů, aby mohly být proxy, je VELMI jednoduchý.

Za chvíli to ukážu se dvěma instancemi nasazení Nextcloud. Nejprve vám řeknu, co tady děláte.

Nevázat na žádný port

Kontejner může vynechat port, který obsluhuje frontend. Reverzní proxy kontejner to automaticky zjistí.

Docker Install Nginx Php

(VOLITELNÉ) Definujte VIRTUAL_PORT

Pokud kontejner reverzního proxy nezjistí port, můžete definovat jinou proměnnou prostředí s názvem VIRTUAL_PORT s portem obsluhujícím frontend nebo kteroukoli službu, kterou chcete získat proxy, například '80' nebo '7765'.

Nastavení Let's Encrypt e-mailu specifického pro kontejner

Proměnnou DEFAULT_EMAIL můžete přepsat a nastavit konkrétní e-mailovou adresu pro certifikát(y) domény/subdomény konkrétního kontejneru/webové služby nastavením e-mailu na proměnnou prostředí LETSENCRYPT_EMAIL. Funguje to na základě jednotlivých kontejnerů.

Nyní, když znáte všechny tyto věci, dovolte mi ukázat vám příkaz, který nasazuje instanci Nextcloud, která bude připojena pomocí proxy kontejneru nginx a bude mít povoleno TLS (SSL/HTTPS).

Toto NENÍ IDEÁLNÍ nasazení. Následující příkaz se používá pouze pro demonstrativní účely.

V příkladu jste použili stejnou síť jako kontejnery reverzního proxy, definovali jste dvě proměnné prostředí s příslušnými subdoménami (nastavte odpovídajícím způsobem svou). Po několika minutách byste měli vidět běžící Nextcloud na sub0.domain.com. Pro ověření otevřete v prohlížeči.

Můžete nasadit další instanci Nextcloud, jako je tato, na jiné subdoméně, jako je následující:

Nyní byste měli vidět jinou instanci Nextcloud běžící na jiné subdoméně na stejném serveru.

Touto metodou můžete nasadit různé webové aplikace na stejný server obsluhovaný v různých subdoménách, což je docela praktické.

Následovat

Nyní, když máte toto nastavení, můžete pokračovat a použít je ve skutečných nasazeních s následujícími příklady:

Chcete-li více článků, jako je tento, přihlaste se k odběru našeho zpravodaje nebo zvažte, zda se stát členem. V případě jakýchkoliv dotazů neváhejte napsat komentář níže.

Staňte se ZDARMA členem

Staňte se členem, abyste dostávali pravidelný linuxový zpravodaj (2-4krát měsíčně) a měli přístup k obsahu pouze pro členy.

Zapojte se do konverzace.

Komentáře jsou uzavřeny.


PREV: Jak svázat ldap s cizím účtem důvěryhodné domény pro autentizaci aplikace

NEXT: Nelze navázat vazbu na chybu serveru LDAP v Nagios

Populární články

Žhavé články

Navigační seznamy

Zpět na začátek