Top
Přejít na hlavní obsah
Služby
Návody > Seznam návodů > Jak nainstalovat NGINX na Ubuntu 18.04

Jak nainstalovat NGINX na Ubuntu 18.04

01 července 2020

NGINX Ubuntu Webserver

NGINX je vysoce výkonný webový server používaný zejména k distribuci statického obsahu a reverzní proxy. Díky své univerzálnosti lze NGINX použít v široké škále situací. V tomto návodu vám ukážeme, jak jej nainstalovat na server a také jak jej nakonfigurovat pro dvě či více domén.

Nejprve se připojte ke svému serveru pomocí SSH. Pokud ještě nemáte SSH připojení k dispozici, doporučujeme návod na bezpečné připojení pomocí SSH protokolu. Pokud se jedná o lokální server, pokračujte k dalšímu kroku a otevřete terminál serveru.

Instalace NGINX

Aktualizujte operační systém:

$ sudo apt update

Zadejte následující příkaz k instalaci balíčku NGINX:

$ sudo apt install nginx

Po dokončení instalace spusťte službu a nastavte automatické spuštění po restartu:

$ sudo systemctl start nginx

$ sudo systemctl enable nginx

Konfigurace Firewall

Prvním krokem v nastavení firewallu ve vašem systému je povolení provozu HTTP a HTTPS.

Pokud používáte UFW firewall, máte pro NGINX k dispozici předinstalované profily. Pojďme se tedy podívat, jak je povolit.

Pro kontrolu dostupných profilů spusťte tento příkaz:

$ sudo ufw app list

Na obrazovce se objeví seznam podobný tomuto:

Available applications:

  Dovecot IMAP

  Dovecot POP3

  Dovecot Secure IMAP

  Dovecot Secure POP3

  Nginx Full

  Nginx HTTP

  Nginx HTTPS

  OpenSSH

  Postfix

  Postfix SMTPS

  Postfix Submission

Chcete-li povolit provoz HTTP (Port 80) a HTTPS (Port 443), použijte profil „Nginx Full“.

Informace o profilu lze získat takto:

$ sudo ufw app info "Nginx Full"

Na obrazovce se objeví informace o profilu:

Profile: Nginx Full

Title: Web Server (Nginx, HTTP + HTTPS)

Description: Small, but very powerful and efficient web server
                Ports:

  80,443/tcp

Po kontrole těchto informací povolte profil:

$ sudo ufw allow in "Nginx Full"

Nyní je konfigurace NGINX a firewallu dokončena. Chce-li otestovat webový server, navštivte adresu http://, v případě lokálního serveru pak http://localhost.

Pokud byl postup proveden správně, zobrazí se úvodní stránka NGINX.

NGINX Page

Správné nastavení dvou domén/webových stránek

Níže je ukázáno, jak nakonfigurovat dva virtuální servery (nazývané "serverové bloky") tak, aby obsahovaly dva zcela oddělené webové prostory. V tomto příkladu použijeme dvě fiktivní domény:

  •   •  www.vasedomena.com

  •   •  www.vasedomena2.com

Oba A záznamy musí odkazovat na veřejnou IP adresu vašeho serveru.

Začněte tím, že vytvoříte všechny nezbytné složky k uložení veřejných souborů vašich webových stránek:

$ sudo mkdir /var/www

$ sudo mkdir /var/www/vasedomena.com

$ sudo mkdir /var/www/vasedomena.com/htdocs

$ sudo mkdir /var/www/vasedomena.com/logs
                $ sudo mkdir /var/www/vasedomena2.com

$ sudo mkdir /var/www/vasedomena2.com/htdocs

$ sudo mkdir /var/www/vasedomena2.com/logs

U každé domény zkopírujte do složky htdocs výchozí stránku NGINX jako dočasný obsah:

$ sudo cp /usr/share/nginx/html/* /var/www/vasedomena.com/htdocs/

$ sudo cp /usr/share/nginx/html/* /var/www/vasedomena2.com/htdocs/

Nyní přistupte k samotné konfiguraci NGINX. NGINX čte všechny soubory .conf v adresáři /etc/nginx/conf.d/. Vytvořte dva soubory (pro každou doménu jeden) s názvem:

  •   •  vasedomena_com.conf

  •   •  vasedomena2_com.conf

V textovém editoru zapište do souboru vasedomena_com.conf následující konfiguraci:

server {
                        

        listen 80;
                        

        server_name vasedomena.com *.vasedomena.com;
                        

        root /var/www/vasedomena.com/htdocs;
                        

        access_log /var/www/vasedomena.com/logs/access.log main;

        error_log /var/www/vasedomena.com/logs/error.log warn;

}

Podobně upravte také soubor vasedomena2_com.conf:

server {
                        

        listen 80;
                        

        server_name vasedomena2.com *.vasedomena2.com;
                        

        root /var/www/vasedomena2.com/htdocs;
                        

        access_log /var/www/vasedomena2.com/logs/access.log main;

        error_log /var/www/vasedomena2.com/logs/error.log warn;

}

Kromě nastavení root složky pro soubory virtuální domény doporučujeme provést také konfiguraci cest access logu a error logu pro každou doménu zvlášť. Běžně NGINX ukládá všechny logy do složky /var/log/nginx/, ale v případě použití více domén může být výsledek matoucí.

Logy mohou postupem času zabírat velké množství místa, proto je nutné nastavit rotaci souborů k mazání nejstaršího obsahu. K tomu využijeme funkci logrotate.

Pro přidání nových logů do nastavení logrotate upravte soubor /etc/etc/logrotate.d/nginx:

/var/log/nginx/*log {

    create 0644 nginx nginx

    daily

    rotate 10

    missingok

    notifempty

    compress

    sharedscripts

    postrotate

        /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true

    endscript

}

Ve /var /log/nginx již existuje konfigurace pro soubory NGINX. Upravte první část souboru následovně:

/var/log/nginx/*log

/var/www/*/logs/* {

    ...

}

Po provedení této změny bude logrotate spravovat všechny soubory ve složkách /var/www/vasedomena.com a /var/www/vasedomena2.com a všech ostatních. Nemusíte se tedy starat ani o domény, které případně přidáte v budoucnu.

Po dokončení proveďte restart:

$ sudo systemctl reload nginx

Začněte používat FORPSI Cloud

 ZAČÍT HNED POŽÁDAT O VOUCHER*

(*) FORPSI vám poskytne voucher s kreditem v hodnotě 140 Kč pro cloudové služby

TECHNOLOGIČTÍ PARTNEŘI: