1. Úvod
Mnoho uživatelů má zájem používat Nginx na Ubuntu, ale začátečníci často neví, kde začít. Tento článek poskytuje snadno pochopitelné, krok‑za‑krokem vysvětlení – od instalace Nginx na Ubuntu až po jeho konfiguraci a správu – i když nemáte žádné předchozí zkušenosti.
Co je Nginx?
Nginx (Engine‑X) je vysoce výkonný HTTP server a reverzní proxy server. Díky své lehké a flexibilní architektuře je široce používán na webových serverech a v aplikacích po celém světě. Jeho struktura je obzvláště vhodná pro zpracování prostředí s vysokým provozem.
Výhody používání Nginx na Ubuntu
Ubuntu je populární distribuce Linuxu s vynikající kompatibilitou s Nginx. Protože Ubuntu používá správu balíčků APT, instalace a aktualizace jsou jednoduché a můžete očekávat vysokou stabilitu a bezpečnost.
Po přečtení tohoto článku budete rozumět:
- Jak nainstalovat Nginx na Ubuntu
- Základním postupům konfigurace a správy
- Technice ladění výkonu a řešení problémů
Pojďme tedy na to.
2. Instalace Nginx na Ubuntu
Aby Nginx na Ubuntu fungoval, musíte jej nainstalovat správně. Tato část popisuje instalační kroky jasně a jednoduše.
Zkontrolujte požadované balíčky
Před instalací Nginx se ujistěte, že je váš systém aktuální. Spusťte následující příkazy:
sudo apt update
sudo apt upgrade
Instalace Nginx
Pro instalaci Nginx zadejte následující příkaz:
sudo apt install nginx
Tento příkaz stáhne a nainstaluje Nginx přímo z APT repozitáře Ubuntu.
Ověření instalace
Spusťte následující příkaz a zkontrolujte, zda byl Nginx nainstalován správně:
sudo systemctl status nginx
Pokud stav ukazuje aktivní (běží), 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
Nginx je nyní připraven komunikovat přes port 80 (HTTP) a port 443 (HTTPS).
3. Základní konfigurace Nginx na Ubuntu
Pouze instalace Nginx nestačí – musíte jej správně nakonfigurovat, aby byl efektivně využit.
Umístění a struktura konfiguračních souborů
Nginx používá následující konfigurační soubory:
- Hlavní konfigurační soubor:
/etc/nginx/nginx.conf - Konfigurační soubory pro konkrétní weby: nacházejí se v adresáři
/etc/nginx/sites-available/
Obvykle vytváříte soubory virtuálních hostů v adresáři sites-available a poté v adresáři sites-enabled vytvoříte symbolické odkazy, aby se aktivovaly.
Konfigurace virtuálního hosta
Virtuální hosté umožňují jednomu serveru spravovat více domén a projektů. Následující příklad konfiguruje example.com:
sudo nano /etc/nginx/sites-available/example.com
Zadejte následující konfiguraci:
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 poté aktivujte konfiguraci:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Konfigurace SSL/TLS
Pro zabezpečenou komunikaci nakonfigurujte certifikáty SSL/TLS. Bezplatné certifikáty můžete získat pomocí Let’s Encrypt.
Nejprve nainstalujte certbot:
sudo apt install certbot python3-certbot-nginx
Poté vystavte certifikát a automaticky aplikujte nastavení:
sudo certbot --nginx -d example.com -d www.example.com
Ujistěte se, že je povoleno automatické obnovování certifikátu, aby nedošlo k jeho vypršení.
4. Spouštění a správa Nginx
Jakmile je Nginx nainstalován a nakonfigurován, musíte se naučit, jak jej spouštět, zastavovat, znovu načítat a řešit problémy. Tato část vysvětluje základní administrativní příkazy.
Základní příkazy Nginx
Na Ubuntu použijte příkaz systemctl k správě Nginx:
- Spustit Nginx
sudo systemctl start nginx
- Zastavit Nginx
sudo systemctl stop nginx
- Restartovat Nginx Použijte při provádění zásadních změn konfigurace.
sudo systemctl restart nginx
- Znovu načíst Nginx Aplikujte změny konfigurace bez restartu.
sudo systemctl reload nginx
- Zkontrolovat stav Nginx
sudo systemctl status nginx
Povolit automatické spouštění
Pro automatické spuštění Nginx po restartu systému:
- Povolit automatické spuštění
sudo systemctl enable nginx
- Zakázat automatické spuštění
sudo systemctl disable nginx
Kontrola logů a řešení problémů
Pokud Nginx nefunguje podle očekávání, zkontrolujte logy:
- Chybový log
sudo tail -f /var/log/nginx/error.log
- Přístupový log
sudo tail -f /var/log/nginx/access.log
Časté problémy a řešení
- Nginx se nespustí
- Příčina: chyby v konfiguračním souboru
- Řešení:
bash sudo nginx -tZkontrolujte syntaktické chyby a opravte je.
- Změny nejsou aplikovány
- Příčina: Nginx nebyl znovu načten
- Řešení: Spusťte
sudo systemctl reload nginxpo změnách.
- Porty nejsou otevřeny
- Příčina: nastavení firewallu
- Řešení:
bash sudo ufw allow 'Nginx Full'

5. Nastavení firewallu pro Nginx a zabezpečení
Zabezpečení je při provozu Nginx klíčové. Tato sekce vysvětluje, jak nastavit UFW a posílit zabezpečení Nginx.
Otevírání portů pomocí UFW
UFW je ve výchozím nastavení nainstalován na Ubuntu. Pro umožnění komunikace Nginx otevřete požadované porty:
- Zkontrolovat stav UFW
sudo ufw status
- Použít pravidla pro Nginx
sudo ufw allow 'Nginx Full'
- Povolit UFW
sudo ufw enable
Další vylepšení zabezpečení
- Zakázat zbytečné HTTP metody
if ($request_method !~ ^(GET|POST|HEAD)$) { return 444; }
- Zakázat výpis adresářů
autoindex off;
- Posílit SSL/TLS
ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers HIGH:!aNULL:!MD5;
6. Ladění výkonu Nginx a řešení problémů
Nginx je známý pro svůj výkon, ale správné ladění jej může ještě více zlepšit. Tato sekce vysvětluje, jak optimalizovat zdroje a řešit běžné problémy.
Ladění výkonu
1. Konfigurace pracovních procesů
Upravit /etc/nginx/nginx.conf a optimalizovat počet pracovních procesů:
worker_processes auto;
2. Zvýšit počet pracovních spojení
worker_connections 1024;
3. Povolit HTTP/2
listen 443 ssl http2;
sudo systemctl reload nginx
4. Povolit kompresi
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í
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
expires 30d;
access_log off;
}
Běžné problémy a řešení
1. Pomalé požadavky při vysokém zatížení
- Příčina: nedostatečné nastavení pracovních procesů nebo spojení
- Řešení: upravit parametry workerů nebo zavést vyvažování zátěže
2. Chyba 403 Forbidden
- Příčina: nesprávná cesta
rootnebo nesprávná oprávnění - Řešení:
- Ověřte direktivu
roota opravte oprávnění pomocí: bash sudo chmod -R 755 /var/www/example.com/html sudo chown -R www-data:www-data /var/www/example.com/html
3. Timeout serveru
- Příčina: zpracování požadavku klienta trvá příliš dlouho
- Řešení:
proxy_read_timeout 300; proxy_connect_timeout 300; proxy_send_timeout 300;
4. Chyby při restartu
- Příčina: problémy se syntaxí konfigurace
- Řešení:
sudo nginx -t
7. Shrnutí a další kroky
Tento článek vysvětlil, jak nainstalovat, konfigurovat a spravovat Nginx na Ubuntu. Projděme si, co jste se naučili, a identifikujme možné další kroky.
Přehled článku
1. Instalace Nginx na Ubuntu
- Připravil potřebné balíčky a naučil se instalovat Nginx pomocí APT
- Nakonfiguroval firewall (UFW) tak, aby povolil provoz Nginx
2. Základní konfigurace
- Naučil se umístění souborů, nastavení virtuálního hostitele a konfiguraci SSL/TLS
3. Provozní operace
- Ovládl příkazy start, stop, restart, reload a zkoumání logů
4. Firewall a zabezpečení
- Otevřel potřebné porty pomocí UFW a zakázal zbytečné HTTP metody
5. Ladění výkonu a řešení problémů
- Optimalizoval pracovní procesy, povolil HTTP/2, nastavil cache a vyřešil běžné problémy
Další kroky
Nyní, když rozumíte základním krokům instalace a konfigurace Nginx na Ubuntu, zvažte další postup:
- Naučte se pokročilou konfiguraci Nginx
- Studujte funkce vyvažování zátěže a reverzního proxy
- Vyzkoušejte další moduly, například modul Nginx RTMP
- Zvyšte zabezpečení
- Zvažte nasazení Web Application Firewall (WAF)
- Zavedení automatizace
- Použijte Ansible nebo Docker k automatizaci konfigurace a nasazení
- Použijte monitorovací a optimalizační nástroje
- Implementujte Prometheus nebo Grafana pro vizualizaci a sledování výkonu
Závěrečné myšlenky
Nginx je rychlý a flexibilní webový server, který dokáže podporovat širokou škálu případů použití, pokud je správně nakonfigurován. Aplikujte to, co jste se zde naučili, na reálné projekty a nadále objevujte další funkce prostřednictvím oficiální dokumentace Nginx a komunitních zdrojů.
Doufám, že vám tento průvodce pomůže spravovat váš webový server efektivněji!



