Jak nainstalovat Nginx na Ubuntu 20.04 LTS

Úplný podrobný průvodce instalací a nastavením webového serveru Nginx v systému Ubuntu 20.04

Nginx je open-source a populární reverzní proxy webový server dostupný na více platformách. Software byl vyvinut společností Igor Sysojev jako řešení problému C10K a poprvé vydáno v roce 2004. Problém C10K je problém obsluhovat deset tisíc klientů současně, což nebylo na počátku 21. století docela snadné.

V tomto tutoriálu se podíváme na to, jak nainstalovat a nastavit Nginx na Ubuntu 20.04 LTS.

Předpoklady

Systém s nainstalovaným Ubuntu 20.04 a a sudo uživatel. Navíc nepotřebujete mít žádný jiný webový server, jako je Apache, spuštěný na portu 80 nebo 443.

Instalace Nginx

Nginx je k dispozici v úložišti Ubuntu 20.04 a apt k instalaci lze použít správce balíčků. Chcete-li nainstalovat Nginx, otevřete terminál pomocí ctrl+alt+t a spustit:

sudo apt aktualizace && sudo apt nainstalovat nginx

Instalace bude brzy dokončena a démon Nginx se automaticky spustí na pozadí. Chcete-li zkontrolovat stav Nginx, spusťte:

sudo systemctl status nginx

Po spuštění výše uvedeného příkazu byste měli získat stav Nginx jako aktivní (běžící) v zelené barvě, jak je vidět níže.

Konfigurace brány firewall Ubuntu (UFW)

Ve výchozím nastavení jsou odchozí porty HTTP (80) a HTTPS (443) na Ubuntu 20.04 uzavřeny. Navíc výchozí démon brány firewall ufw je zakázáno, protože všechny porty jsou uzavřeny.

Chcete-li tedy přistupovat k serveru Nginx z jiných systémů, musíte povolit ufw a správně jej nastavte tak, aby umožňoval provoz na portu 80 a 443. Než povolíte ufw, vězte, že pokud nastavujete Nginx na vzdáleném serveru, nejprve aktualizujte ufw pravidla povolit ssh spuštěním:

sudo ufw povolit ssh

Výše uvedený příkaz umožňuje ssh přístup ke vzdálenému serveru bez povolení ssh budete uzamčeni ze vzdáleného serveru.

Po povolení ssh přístup, můžete povolit ufw firewall démon spuštěním:

povolit sudo ufw

Nyní musíte změnit pravidla brány firewall tak, aby umožňovala porty HTTP a HTTPS, aby Nginx mohl obsluhovat webový provoz. Chcete-li změnit pravidla, spusťte:

sudo ufw povolit 'Nginx Full'

Nginx plný umožňuje jak HTTP, tak HTTPS porty pro příchozí a odchozí provoz ze všech IP adres.

Poté ověřte, zda jsou pravidla správně přidána ufw firewall spuštěním příkazu:

stav sudo ufw

Výše uvedený příkaz vypíše pravidla, která jsme přidali ufw démon brány firewall.

Připojení k serveru Nginx

Nyní, když jsme nainstalovali Nginx a nakonfigurovali ufw abyste povolili příchozí webový provoz HTTP a HTTPS, měli byste mít přístup k serveru Nginx pomocí IP adresy serveru.

Pokud neznáte IP adresu serveru, použijte níže uvedený příkaz k jejímu snadnému načtení.

ip addr show eth0 | grep inet | awk '{ tisk $2; }' | sed 's/\/.*$//'

Jakmile budete mít IP adresu, vložte ji do prohlížeče a stiskněte Enter.

//ip-vašeho-serveru

Pokud bylo vše správně nakonfigurováno, měli byste vidět webovou stránku ‚Vítejte v nginx!‘.

Soubory a adresáře Nginx

Nyní, když máme Nginx nainstalovaný a spuštěný na vašem serveru. Pojďme se podívat na některé důležité soubory a adresáře Nginx, které budete muset použít ke konfiguraci svého webu/webové aplikace.

Obsah webového serveru

Můžete nakonfigurovat libovolné umístění, které chcete, aby bylo vaším kořenovým adresářem pro váš blok serveru. Výchozí HTML Nginx je přímo /var/www/html, je to místo, kde se nachází „uvítací“ stránka, kterou jsme navštívili dříve.

Mezi další umístění, která se obvykle používají jako kořenový adresář pro domény, patří:

  • /Domov//
  • /var/www/html/
  • /opt/

Konfigurační soubory Nginx

Všechny konfigurační soubory Nginx jsou umístěny v /etc/nginx adresář. Podívejme se na některé důležité soubory, které potřebujeme k nastavení základní domény.

  • /etc/nginx/nginx.conf: Tento soubor obsahuje veškerou konfiguraci potřebnou ke spuštění Nginx.
  • /etc/nginx/sites-available/: Tento adresář má všechny serverové blokové konfigurace domén, ale aktuálně nejsou povoleny/nasazeny, a proto nejsou přístupné klientům.
  • /etc/nginx/sites-enabled/: Tento adresář obsahuje aktuálně aktivní/povolené domény přístupné klientům. Abychom povolili doménu, musíme propojit konfigurační soubor domény stránky-dostupné k s povolenými weby adresář.
  • /etc/nginx/snippets/: V tomto adresáři můžeme uložit potenciálně znovu použitelné segmenty konfigurace. Šetří spoustu času v produkčním prostředí díky tomu, že dokáže segmenty/bloky konfigurace znovu použít.

Protokoly serveru

Nginx zaznamenává události/aktivity a ukládá je do souborů protokolu v /var/log/nginx adresář. Nginx zaznamenává aktivity do těchto souborů:

  • /var/log/nginx/access.log: Tento soubor zaznamenává klienty, kteří přistoupili k serveru Nginx. Podrobnosti zahrnují IP adresu klienta, čas a datum, prohlížeč použitý pro přístup k serveru a OS.
  • /var/log/nginx/error.log: Tento soubor zaznamenává chyby zjištěné serverem Nginx při běhu.

V této části jsme se tedy stručně podívali na některé důležité soubory a adresáře Nginx, které pro začátek stačí.

Nastavení serverových bloků

Nyní, když máme nějaké základní znalosti o souborech a serveru Nginx, jsme připraveni nastavit vlastní blok serveru. Bloky serveru jsou podobné virtuálním hostitelům Apache.

Podíváme se na to, jak vytvořit blok serveru a ukázat, co použijeme example.com jako doména v procesu vytváření.

💡 Vyměňte example.com s názvem vaší domény.

Než začneme konfigurovat serverové bloky, musíme vytvořit adresář, který bude sloužit jako kořenový adresář pro obsah webových stránek. Nechte nás tvořit /var/www/example.com/html adresář pro použití domény mkdir příkaz.

sudo mkdir -p /var/www/example.com/html

The -p volba vytvoří všechny potřebné nadřazené adresáře. To znamená, že bude tvořit example.com nadřazený adresář html pokud neexistuje.

Změňte vlastnictví adresáře pomocí $USER proměnná prostředí:

sudo chown -R $USER:$USER /var/www/example.com/html

Dále vytvořte jednoduchý index.html soubor, který bude zpřístupněn, když navštívíte konfigurovanou doménu. Toto je pouze pro účely vysvětlení.

nano /var/www/example.com/html/index.html

Vložte následující obsah do souboru, který jsme právě vytvořili na serveru.

  Vítejte na example.com! 

jo! Stránka example.com je přístupná!

lis ctrl+o napsat a uložit index.html soubor a poté stiskněte ctrl+x k východu nano editor.

Nyní konečně můžeme přejít k vytvoření bloku serveru, aby Nginx mohl sloužit index.html když nějaký uživatel přejde na example.com. Abychom vytvořili blok serveru, musíme vytvořit konfigurační soubor s názvem example.com v stránky-dostupné adresář. K tomu používáme nano a spouštíme:

sudo nano /etc/nginx/sites-available/example.com

A pak buď napište nebo zkopírujte/vložte následující konfiguraci. Poté stiskněte ctrl+o a zadejte pro zápis a uložení. Podobně stiskněte ctrl+x zavřete nano editor.

server { poslouchat 80; poslouchej [::]:80; název_serveru example.com www.example.com; root /var/www/example-domain.com/html; index index.html; umístění / { try_files $uri $uri/ =404; } }

Výše uvedená konfigurace je podobná výchozí konfiguraci bloku serveru, změnili jsme ji vykořenit příkaz, aby ukázal na náš nový kořenový adresář a změnil název_serveru na název naší domény. Zatímco umístění{} příkaz slouží jako příkaz k zachycení chyby, pokud nejsou soubory nalezeny, a zobrazí klientovi chybu 404.

Dále můžeme povolit blok našeho serveru, aby Nginx sloužil example.com webové stránky. Abychom povolili blok našeho serveru, musíme vytvořit symbolický odkaz example.com soubor z stránky-dostupné na s povolenými weby adresář. Chcete-li to provést, spusťte:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled

Odkaz bude vytvořen v povoleno pro stránky adresář a nyní example.com by měla být povolena. Nyní máme na našem serveru Nginx povoleny dva serverové bloky, které budou reagovat na požadavek na základě poslouchat a název_serveru direktivy uložené v example.com konfigurace bloku serveru.

Chcete-li zkontrolovat, zda jsou všechny konfigurační soubory správné a není přítomna žádná syntaktická chyba, spusťte:

sudo nginx -t

Nyní konečně restartujte Nginx a použijte změny spuštěním následujícího příkazu:

sudo systemctl restart nginx

Nginx nyní začne obsluhovat váš blok serveru, můžete přejít na //název-vaší-domény a uvidíte svou webovou stránku živě.

Poznámka: Aby výše uvedená část fungovala, budete muset nastavit vlastní doménu a nahradit ji example.com s vlastním názvem domény. Také budete muset nakonfigurovat DNS pro vaši doménu tak, aby ukazovala na IP adresu vašeho serveru Nginx.

Na závěr jsme se podívali na to, jak nainstalovat Nginx, nakonfigurovat ufw umožnit vzdálený přístup k serveru Nginx, vzdáleně se připojit k Nginx, seznámit se s některými základními soubory a adresáři Nginx a naučit se, jak nastavit blok serveru.

Chcete-li vědět a dozvědět se více o Nginx, možná budete chtít vidět Nginx wiki.