1. Úvod
Mnoho lidí chce používat Nginx na Ubuntu, ale pokud jste v tom noví, možná nevíte, kde začít. Tento článek poskytuje krok za krokem průvodce pro začátečníky, pokrývající vše od instalace a konfigurace po správu v prostředí Ubuntu.
Co je Nginx?
Nginx (vyslovováno „engine‑x“) je výkonný HTTP server a reverzní proxy server. Je široce používán po celém světě díky svému lehkému designu a flexibilitě, zejména schopnosti zvládat vysoké zatížení provozu.
Výhody používání Nginx na Ubuntu
Ubuntu je populární distribuce Linuxu, která dobře spolupracuje s Nginx. Díky svému systému správy balíčků (APT) je instalace a aktualizace Nginx snadná a nabízí vynikající stabilitu a bezpečnost.
Po přečtení tohoto článku se naučíte:
- Jak nainstalovat Nginx na Ubuntu
- Základní postupy konfigurace a správy
- Ladění výkonu a řešení problémů
Nyní pojďme začít.
2. Jak nainstalovat Nginx na Ubuntu
Pro spuštění Nginx na Ubuntu jej nejprve musíte správně nainstalovat. Tato sekce poskytuje jasný, krok za krokem průvodce instalací.
Kontrola požadovaných balíčků
Před zahájením instalace se ujistěte, že je váš systém aktuální, spuštěním následujících příkazů:
sudo apt update
sudo apt upgrade
Instalace Nginx
Pro instalaci Nginx zadejte následující příkaz:
sudo apt install nginx
Tento příkaz automaticky stáhne a nainstaluje Nginx z APT repozitáře Ubuntu.
Ověření instalace
Pro kontrolu, zda instalace proběhla úspěšně, použijte následující příkaz ke kontrole stavu Nginx:
sudo systemctl status nginx
Pokud výstup ukazuje „active (running)“, instalace byla úspěšná.
Konfigurace firewallu
Ubuntu obsahuje UFW (Uncomplicated Firewall), který můžete použít k povolení provozu Nginx.
sudo ufw allow 'Nginx Full'
sudo ufw enable
Nyní je Nginx nastaven tak, aby fungoval na portech 80 (HTTP) a 443 (HTTPS).

3. Základní konfigurace Nginx na Ubuntu
Pouhá instalace Nginx není dostačující. Dále jej musíte správně nakonfigurovat pro efektivní použití.
Konfigurační soubory a základní struktura
Hlavní konfigurační soubory Nginx se nacházejí v:
- Hlavní konfigurační soubor:
/etc/nginx/nginx.conf - Konfigurační soubory pro konkrétní stránky: uvnitř adresáře
/etc/nginx/sites-available/
Obvykle vytvoříte konfigurační soubor virtuálního hosta v sites-available a vytvoříte symbolický odkaz na sites-enabled pro aktivaci.
Nastavení virtuálního hosta
Virtuální hosté vám umožňují spravovat více domén nebo projektů na jednom serveru. Následující příklad nastavuje example.com:
sudo nano /etc/nginx/sites-available/example.com
Zadejte následující obsah:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Uložte soubor a aktivujte konfiguraci pomocí následujících příkazů:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Konfigurace SSL/TLS
Pro umožnění zabezpečené komunikace nastavte SSL/TLS certifikát. Můžete použít Let’s Encrypt k získání bezplatného certifikátu.
Nejprve nainstalujte certbot:
sudo apt install certbot python3-certbot-nginx
Poté spusťte následující příkaz pro získání a automatickou konfiguraci SSL certifikátu:
sudo certbot --nginx -d example.com -d www.example.com
Aby nedošlo k vypršení, nastavte také automatické obnovení certifikátu.
4. Správa a řízení Nginx
Po instalaci a konfiguraci Nginx se musíte naučit, jak spouštět, zastavovat, načítat konfigurace a řešit problémy. Tato sekce pokrývá základní příkazy správy a techniky řešení problémů.
Základní příkazy Nginx
Na Ubuntu můžete Nginx spravovat pomocí příkazu systemctl. Zde jsou klíčové operace:
- Spustit Nginx
sudo systemctl start nginx
- Zastavit Nginx
sudo systemctl stop nginx
- Restartovat Nginx Vyžadováno při provádění zásadních změn konfigurace.
sudo systemctl restart nginx
- Znovu načíst Nginx Aplikovat změny konfigurace bez restartu.
sudo systemctl reload nginx
- Zkontrolovat stav Nginx Ověřit, zda Nginx běží správně.
sudo systemctl status nginx
Povolení automatického spouštění
Aby Nginx startoval automaticky po restartu systému:
- Povolit automatické spouštění
sudo systemctl enable nginx
- Zakázat automatické spouštění (pokud je potřeba)
sudo systemctl disable nginx
Kontrola logů pro odstraňování problémů
Pokud Nginx nefunguje podle očekávání, zkontrolujte logy a najděte příčinu.
- Zobrazit chybové logy
sudo tail -f /var/log/nginx/error.log
- Zobrazit přístupové logy
sudo tail -f /var/log/nginx/access.log
5. Konfigurace firewallu pro Nginx a zvýšení zabezpečení
Zabezpečení je při provozu Nginx klíčové. Tato sekce vysvětluje, jak nastavit porty pomocí firewallu Ubuntu (UFW) a posílit zabezpečení Nginx.
Otevírání portů pomocí UFW
UFW (Uncomplicated Firewall) je firewallový nástroj, který je v Ubuntu standardně zahrnut. Aby Nginx fungoval správně, je potřeba otevřít porty 80 (HTTP) a 443 (HTTPS).
- Zkontrolovat aktuální stav UFW
sudo ufw status
- Povolit provoz Nginx Spusťte následující příkaz pro otevření potřebných portů:
sudo ufw allow 'Nginx Full'
- Povolit UFW Pokud je firewall vypnutý, povolte jej:
sudo ufw enable
Další vylepšení zabezpečení
- Zakázat zbytečné HTTP metody Pro zvýšení zabezpečení zakázat zbytečné HTTP metody přidáním následujícího do konfiguračního souboru Nginx:
if ($request_method !~ ^(GET|POST|HEAD)$) {
return 444;
}
- Zakázat výpis adresářů Zabránit veřejnému přístupu k obsahu adresářů přidáním:
autoindex off;
- Posílit SSL/TLS Použít silná šifrovací nastavení ve vaší SSL konfiguraci:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;
6. Ladění výkonu Nginx a odstraňování problémů
Nginx je široce známý pro svůj vysoký výkon, ale správné ladění může dále zlepšit jeho efektivitu. Tato sekce pokrývá optimalizační techniky a běžná řešení problémů.
Ladění výkonu
1. Konfigurace pracovních procesů
Nginx používá víceprocesovou architekturu. Nastavení vhodného počtu pracovních procesů optimalizuje výkon.
Upravte konfigurační soubor /etc/nginx/nginx.conf a nastavte:
worker_processes auto;
Nastavení „auto“ automaticky upravuje počet pracovních procesů podle počtu jader CPU.
2. Zvýšení počtu pracovních spojení
Ve výchozím nastavení má každý pracovní proces omezený počet spojení. Zvýšení této hodnoty zlepšuje zpracování vysokého provozu.
Přidejte nebo upravte následující řádek v konfiguračním souboru:
worker_connections 1024;
3. Povolení HTTP/2
Povolení HTTP/2 zlepšuje efektivitu komunikace a urychluje načítání webu.
Upravte soubor /etc/nginx/sites-available/example.com a změňte direktivu listen následovně:
listen 443 ssl http2;
Poté znovu načtěte Nginx:
sudo systemctl reload nginx
4. Povolení komprese obsahu
Komprese souborů před jejich odesláním snižuje využití šířky pásma a zlepšuje dobu načítání.
Přidejte nebo povolte následující nastavení:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
5. Konfigurace cachování
Nastavení cachování snižuje opakované požadavky na statické zdroje.
Přidejte následující konfiguraci:
location ~* .(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
expires 30d;
access_log off;
}
Běžné odstraňování problémů
1. Pomalé zpracování požadavků při vysokém zatížení
- Příčina: Nedostatečný počet pracovních procesů nebo omezení připojení.
- Řešení: Upravit počet pracovních procesů a připojení, nebo zvážit použití vyvažovače zátěže.
2. Chyba „403 Forbidden“
- Příčina: Nesprávná direktiva
rootv konfiguračním souboru nebo nesprávná oprávnění souborů. - Řešení: Zkontrolovat direktivu
roota aktualizovat oprávnění souborů:
sudo chmod -R 755 /var/www/example.com/html
sudo chown -R www-data:www-data /var/www/example.com/html
3. Problémy s časovým limitem serveru
- Příčina: Dlouhá doba zpracování požadavku.
- Řešení: Upravit nastavení časového limitu:
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
4. Chyby při restartu Nginx
- Příčina: Chyby v konfiguračním souboru.
- Řešení: Otestovat konfiguraci před restartem:
sudo nginx -t
7. Shrnutí a další kroky
V tomto průvodci jsme se zabývali instalací, konfigurací a správou Nginx na Ubuntu. Podívejme se, co jsme se naučili, a prozkoumejme další kroky.
Shrnutí klíčových bodů
1. Instalace Nginx na Ubuntu
- Připraveny potřebné balíčky a Nginx nainstalován pomocí APT.
- Firewall nakonfigurován tak, aby povolil provoz Nginx.
2. Základní konfigurace
- Pochopena struktura konfiguračního souboru Nginx a nastavení virtuálních hostitelů a SSL/TLS.
3. Správa Nginx
- Naučeny základní příkazy pro spuštění, zastavení a načtení konfigurace Nginx.
- Kontrola logů pro odstraňování problémů.
4. Zlepšení zabezpečení
- Nakonfigurován UFW a aplikována další bezpečnostní nastavení.
5. Ladění výkonu a odstraňování problémů
- Optimalizovány pracovní procesy, povolen HTTP/2 a nastaveno cachování.
- Řešeny běžné problémy s Nginx.
Další kroky
Nyní, když máte základy Nginx na Ubuntu, zvažte následující kroky:
- Naučte se pokročilé konfigurace, jako je vyvažování zátěže a reverzní proxy.
- Zvyšte zabezpečení pomocí WAF a dalších bezpečnostních modulů Nginx.
- Automatizujte nasazení pomocí Ansible nebo Dockeru.
- Sledujte výkon pomocí nástrojů jako Prometheus a Grafana.
Aplikací těchto konceptů můžete efektivně provozovat a spravovat výkonný webový server s Nginx na Ubuntu.

![[2024 Nejnovější vydání] Podrobný průvodce systémem podpory Ubuntu 24.04 LTS](https://www.linux.digibeatrix.com/wp-content/uploads/2024/11/f222ace1471e9ae589987b3313177f9e-375x375.webp)
