Vyhledávání na webu

Jak nainstalovat webový server Nginx na Ubuntu 20.04


Nginx je opensource, vysoce výkonný webový server, který má obrovský podíl na trhu v produkčních prostředích. Je to lehký a robustní webový server, který se většinou používá při hostování webů s vysokou návštěvností.

Související čtení: Jak nainstalovat webový server Apache na Ubuntu 20.04

V této příručce se dozvíte, jak nainstalovat webový server Nginx a nakonfigurovat blok serveru Nginx (virtuální hostitelé) na Ubuntu 20.04 LTS.

Předpoklady

Chcete-li začít, ujistěte se, že máte instanci Ubuntu 20.04 LTS s přístupem SSH a uživatelem Sudo s oprávněními root. Pro instalaci balíčků Nginx se navíc doporučuje stabilní připojení k internetu.

Instalace Nginx na Ubuntu 20.04

1. Před instalací Nginx aktualizujte seznamy balíčků serveru.

sudo apt update

2. Poté nainstalujte Nginx spuštěním příkazu:

sudo apt install nginx

Až budete vyzváni k pokračování, stiskněte 'Y' na klávesnici a stiskněte ENTER. Instalace bude provedena během několika sekund.

3. Když je Nginx úspěšně nainstalován, můžete jej spustit a ověřit spuštěním:

sudo systemctl start nginx
sudo systemctl status nginx

Výše uvedený výstup jasně ukazuje, že Nginx běží.

4. Chcete-li zkontrolovat verzi Nginx, spusťte:

sudo dpkg -l nginx

Výstup ukazuje, že používáme Nginx 1.17.10, což je nejnovější verze v době psaní tohoto článku.

Otevřete porty Nginx na UFW Firewall

Nyní, když máte Nginx nainstalovaný a spuštěný podle očekávání, je potřeba provést několik úprav, aby byl Nginx přístupný přes webový prohlížeč. Pokud používáte UFW firewall, musíte povolit profil aplikace Nginx.

K ufw firewallu jsou přidruženy 3 profily Nginx.

  1. Nginx Full – Otevře port 80 i 443 (pro šifrování SSL/TLS).
  2. Nginx HTTP – Tento otevřený pouze port 80 (pro nešifrovaný webový provoz).
  3. Nginx HTTPS – Otevře pouze port 443 (pro šifrování SSL/TLS).

5. Začněte povolením brány firewall na Ubuntu 20.04.


sudo ufw enable

6. Vzhledem k tomu, že nejsme na šifrovaném serveru, povolíme zatím pouze profil Nginx HTTP, který umožní provoz na portu 80 .

sudo ufw allow 'Nginx HTTP'

7. Poté znovu načtěte bránu firewall, aby změny zůstaly zachovány.

sudo ufw reload

8. Nyní zkontrolujte stav brány firewall a ověřte profily, které byly povoleny.

sudo ufw status

Testování Nginx na Ubuntu 20.04

Nginx běží v prohlížeči tak, jak byste očekávali u jakéhokoli webového serveru, a nejjistější způsob, jak otestovat, zda běží podle očekávání, je odesílat požadavky prostřednictvím prohlížeče.

9. Přejděte tedy do prohlížeče a vyhledejte IP adresu nebo název domény serveru. Chcete-li zkontrolovat IP adresu vašeho serveru, spusťte příkaz ifconfig:

ifconfig

10. Pokud jste na cloudovém serveru, spusťte níže uvedený příkaz curl a načtěte veřejnou IP adresu serveru.

curl ifconfig.me

11. Do pole URL vašeho prohlížeče zadejte IP adresu nebo název domény vašeho serveru a stiskněte ENTER.

http://server-IP or domain-name

Měli byste získat výchozí uvítací stránku Nginx, jak je znázorněno.

Spravujte proces Nginx v Ubuntu 20.04

12. Chcete-li zastavit webový server Nginx, jednoduše spusťte:

sudo systemctl stop nginx

13. Chcete-li webový server znovu spustit, proveďte:

sudo systemctl start nginx

14. Automatické spuštění Nginx při spuštění nebo restartu:

sudo systemctl enable nginx

15. Pokud chcete restartovat webový server zejména po provedení změn v konfiguračních souborech, spusťte:

sudo systemctl restart nginx

16. Alternativně můžete znovu načíst, aby nedošlo k přerušení připojení, jak je znázorněno.

sudo systemctl reload nginx

Konfigurace Nginx Server Block v Ubuntu 20.04

Pokud plánujete hostovat na svém serveru více než jeden web, velmi doporučujeme nastavit blok serveru Nginx. Blok serveru je ekvivalentem virtuálního hostitele Apache.

Ve výchozím nastavení se Nginx dodává se svým výchozím blokem serveru, který je nastaven na poskytování webového obsahu na cestě /var/www/html.

Chystáme se vytvořit samostatný blok Nginx, který bude sloužit obsahu naší domény. Pro tuto příručku použijeme doménu crazytechgeek.info.
Pro váš případ se ujistěte, že jste jej nahradili vlastním názvem domény.

17. Chcete-li vytvořit soubor bloku serveru, nejprve vytvořte adresář pro svou doménu, jak je znázorněno na obrázku.

sudo mkdir -p /var/www/crazytechgeek.info/html

18. Dále přiřaďte vlastnictví novému adresáři pomocí proměnné $USER.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

19. Zajistěte, abyste odpovídajícím způsobem přidělili také oprávnění k adresářům, což umožňuje vlastníkovi mít všechna oprávnění (čtení, zápis a spouštění) a udělujete ostatním stranám pouze oprávnění ke čtení a spouštění.

sudo chmod -R 755 /var/www/crazytechgeek.info

20. V adresáři domény vytvořte index.html soubor, který bude obsahovat webový obsah domény.

sudo vim /var/www/crazytechgeek.info/html/index.html

Vložte níže uvedený obsah do vzorového testovacího souboru.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Uložte změny a ukončete soubor.

21. Aby webový server Nginx obsluhoval obsah, který jste právě přidali, musíte vytvořit blok serveru s příslušnými direktivami. V tomto případě jsme vytvořili nový blok serveru na adrese:

sudo vim /etc/nginx/sites-available/crazytechgeek.info

Vložte zobrazenou konfiguraci.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info  www.crazytechgeek.info;

        location / {
                try_files $uri $uri/ =404;
        }
}

Uložit a odejít.

22. Nyní povolte soubor bloku serveru tím, že jej propojíte s adresářem sites-enabled, ze kterého server Nginx čte při spuštění.

sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

23. Aby se změny projevily, restartujte webový server Nginx.

sudo systemctl restart nginx

24. Abyste se ujistili, že jsou všechny konfigurace v pořádku, spusťte příkaz:

nginx -t

Pokud jsou všechny konfigurace v pořádku, měli byste získat výstup zobrazený níže:

25. Webový server Nginx by nyní měl obsluhovat obsah vaší domény. Ještě jednou přejděte do svého prohlížeče a procházejte doménu svého serveru.

http://domain-name

Váš vlastní obsah v adresáři vaší domény bude poskytován tak, jak je uvedeno.

Důležité konfigurační soubory Nginx

Než skončíme, je důležité prozkoumat některé důležité konfigurační soubory spojené s Nginx.

Konfigurační soubory Nginx

  • /etc/nginx/nginx.conf: Toto je hlavní konfigurační soubor. Nastavení můžete upravit tak, aby vyhovovala požadavkům vašeho serveru.
  • /etc/nginx/sites-available: Toto je adresář, ve kterém je uložena konfigurace bloku serveru. Nginx používá serverové bloky pouze v případě, že jsou propojeny s adresářem s povolenými weby.
  • /etc/nginx/sites-enabled: Adresář obsahuje bloky serveru Nginx pro jednotlivé stránky, které jsou již povoleny.

Soubory protokolu Nginx

Existují dva hlavní soubory protokolu, které můžete použít k odstraňování problémů s webovým serverem Nginx:

  • /var/log/nginx/access.log: Toto protokoluje všechny požadavky odeslané na webový server.
  • /var/log/nginx/error.log: Toto je soubor protokolu chyb a zaznamenává všechny chyby, na které Nginx narazí.
Závěr

Dosáhli jsme konce tohoto tutoriálu. Ukázali jsme, jak můžete nainstalovat Nginx na Ubuntu 20.04 a jak můžete nastavit bloky serveru Nginx pro poskytování obsahu vaší domény. Vaše zpětná vazba je vítána.