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 updatesudo 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/nginxadresář. - 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-availableadresář. Konfigurační soubory nalezené v tomto adresáři nepoužívá Nginx, pokud nejsou propojeny s/etc/nginx/sites-enabledadresář. - Chcete-li aktivovat blok serveru, musíte vytvořit symbolický odkaz (ukazatel) ze stránek konfiguračního souboru v
sites-availabledo adresářesites-enabledadresář. - Doporučujeme se řídit standardní konvencí pojmenování, například pokud je název vaší domény
mydomain.compak by se váš konfigurační soubor měl jmenovat/etc/nginx/sites-available/mydomain.com.conf /etc/nginx/snippetsadresář 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.logaerror.log) jsou umístěny v/var/log/nginxadresář. Doporučuje se mít jinýaccessaerrorsoubory 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>