Nginx vyslovovaný jako „engine x“ je bezplatný, open-source, vysoce výkonný HTTP a reverzní proxy server zodpovědný za zpracování zátěže některých z největších stránek na internetu.
Nginx lze použít jako samostatný webový server a jako reverzní proxy pro Apache a další webové servery.
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í.
Tento tutoriál nastíní kroky potřebné k instalaci Nginx na počítači Ubuntu 18.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 jiný webový server spuštěný na portu 80
nebo 443
.
Instalace Nginx #
Balíčky Nginx jsou k dispozici ve výchozích úložištích Ubuntu. Instalace je docela jednoduchá.
Začneme aktualizací seznamu balíčků a poté nainstalujeme Nginx:
sudo apt update
sudo apt install nginx
Po dokončení instalace se služba Nginx automaticky spustí. Stav služby můžete zkontrolovat pomocí následujícího příkazu:
sudo systemctl status nginx
Výstup bude vypadat nějak takto:
● 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-04-29 06:43:26 UTC; 8s ago
Docs: man:nginx(8)
Process: 3091 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 3080 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 3095 (nginx)
Tasks: 2 (limit: 507)
CGroup: /system.slice/nginx.service
├─3095 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─3097 nginx: worker process
Konfigurace brány 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:
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 otestovat svou novou instalaci Nginx, otevřete http://YOUR_IP
ve vašem zvoleném prohlížeči a zobrazí se vám výchozí vstupní stránka Nginx, jak je znázorněno na obrázku níže:
Správa služby Nginx #
Službu Nginx můžete spravovat stejným způsobem jako jakoukoli jinou službu systemd.
Chcete-li zastavit službu Nginx, spusťte:
sudo systemctl stop nginx
Chcete-li jej znovu spustit, zadejte:
sudo systemctl start nginx
Restartování služby Nginx:
sudo systemctl restart nginx
Po provedení některých změn konfigurace znovu načtěte službu Nginx:
sudo systemctl reload nginx
Ve výchozím nastavení se služba Nginx spustí při spuštění. Pokud chcete zakázat spuštění služby Nginx při spuštění:
sudo systemctl disable nginx
A znovu jej povolit:
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ář. - Doporučujeme se řídit 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>