Nginx vyslovovaný jako „engine x“ je bezplatný, open source, vysoce výkonný HTTP a reverzní proxy server, který pohání některé z největších webů na internetu.
Ve srovnání s Apache dokáže Nginx zpracovat mnohem velký počet souběžných připojení a má menší nároky na paměť na připojení.
V tomto tutoriálu probereme, jak nainstalovat a spravovat Nginx na systémech Ubuntu 16.04.
Předpoklady #
Než začnete s výukovým programem, ujistěte se, že jste přihlášeni jako uživatel s právy sudo a že nemáte Apache nebo jinou službu spuštěnou na portu 80 nebo 443.
Instalovat Nginx #
Balíčky Nginx jsou k dispozici ve výchozích softwarových úložištích Ubuntu. Instalace je docela jednoduchá, jednoduše spusťte následující příkazy:
sudo apt update
sudo apt install nginx
Po dokončení instalace zkontrolujte stav služby Nginx zadáním:
sudo systemctl status nginx
Výstup by vám měl ukázat, že služba Nginx je aktivní a běží:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-01-05 15:44:04 UTC; 1min 59s ago
Main PID: 1291 (nginx)
CGroup: /system.slice/nginx.service
├─1291 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
└─1293 nginx: worker process
Chcete-li zkontrolovat typ verze Nginx:
sudo nginx -v
nginx version: nginx/1.10.3 (Ubuntu)
Upravte bránu firewall #
Za předpokladu, že používáte UFW
ke správě firewallu budete muset otevřít HTTP (80
) a HTTPS (443
) porty.
Můžete to udělat povolením profilu „Nginx Full“, který obsahuje pravidla pro oba porty:
sudo ufw allow 'Nginx Full'
Chcete-li ověřit typ stavu brány firewall:
sudo ufw status
Výstup bude vypadat nějak takto:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Otestujte instalaci #
Chcete-li ověřit, že Nginx funguje podle očekávání, otevřete http://YOUR_IP
ve vašem zvoleném prohlížeči a zobrazí se vám výchozí uvítací stránka Nginx, jak je uvedeno níže:
Instalovat Nginx z úložiště Nginx PPA #
Balíčky Nginx z repozitářů Ubuntu jsou často zastaralé. Chcete-li nainstalovat nejnovější verzi Nginx, použijte oficiální úložiště Nginx PPA.
Chcete-li nainstalovat nejnovější verzi Nginx na Ubuntu 16.04, postupujte podle následujících kroků:
-
Nejprve nainstalujte
software-properties-common
balíček:sudo apt install software-properties-common
-
Přidejte úložiště Nginx PPA pomocí následujícího příkazu:
sudo add-apt-repository ppa:nginx/stable
-
Aktualizujte seznam balíčků a nainstalujte Nginx:
sudo apt update
sudo apt install nginx
-
Po dokončení instalace zkontrolujte verzi Nginx pomocí:
sudo nginx -v
Výstup bude vypadat nějak takto:
nginx version: nginx/1.12.2
Spravujte službu Nginx pomocí systemctl #
Službu Nginx můžete spravovat stejným způsobem jako jakoukoli jinou systémovou jednotku.
-
Chcete-li zastavit službu Nginx, spusťte:
sudo systemctl stop nginx
-
Chcete-li spustit službu Nginx, zadejte:
sudo systemctl start nginx
-
Restartujte službu Nginx:
sudo systemctl restart nginx
-
Po provedení některých změn konfigurace znovu načtěte službu Nginx:
sudo systemctl reload nginx
-
Zakažte spuštění služby Nginx při spuštění:
sudo systemctl disable nginx
-
Znovu povolte službu Nginx, aby se znovu spustila při spuštění:
sudo systemctl enable nginx
Struktura a doporučené postupy konfiguračního souboru Nginx #
- Všechny konfigurační soubory Nginx jsou umístěny v
/etc/nginx/
adresář. - Hlavní konfigurační soubor Nginx je
/etc/nginx/nginx.conf
. - Pro snazší údržbu konfigurace Nginx se doporučuje vytvořit samostatný konfigurační soubor pro každou doménu. Můžete mít tolik souborů bloků serveru, kolik potřebujete.
- Soubory bloků serveru Nginx jsou uloženy v
/etc/nginx/sites-available
adresář. Konfigurační soubory nalezené v tomto adresáři nepoužívá Nginx, pokud nejsou propojeny s/etc/nginx/sites-enabled
adresář. - Chcete-li aktivovat blok serveru, musíte vytvořit symbolický odkaz (ukazatel) ze stránek konfiguračního souboru v
sites-available
do adresářesites-enabled
adresář. - Je dobré řídit se standardní konvencí pojmenování, například pokud je název vaší domény
mydomain.com
pak by se váš konfigurační soubor měl jmenovat/etc/nginx/sites-available/mydomain.com.conf
/etc/nginx/snippets
adresář obsahuje konfigurační fragmenty, které lze zahrnout do souborů bloků serveru. Pokud používáte opakovatelné konfigurační segmenty, můžete tyto segmenty předělat na úryvky a zahrnout soubor úryvků do bloků serveru.- Soubory protokolu Nginx (
access.log
aerror.log
) jsou umístěny v/var/log/nginx/
adresář. Doporučuje se mít jinýaccess
aerror
soubory protokolu pro každý blok serveru. - Kořenový adresář dokumentů domény můžete nastavit do libovolného umístění. Mezi nejčastější umístění pro webroot patří:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>