Jak nainstalovat, nakonfigurovat a optimalizovat Nginx na Ubuntu: Kompletní průvodce pro začátečníky

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:

  1. Spustit Nginx
    sudo systemctl start nginx
    
  1. Zastavit Nginx
    sudo systemctl stop nginx
    
  1. Restartovat Nginx Použijte při provádění zásadních změn konfigurace.
    sudo systemctl restart nginx
    
  1. Znovu načíst Nginx Aplikujte změny konfigurace bez restartu.
    sudo systemctl reload nginx
    
  1. Zkontrolovat stav Nginx
    sudo systemctl status nginx
    

Povolit automatické spouštění

Pro automatické spuštění Nginx po restartu systému:

  1. Povolit automatické spuštění
    sudo systemctl enable nginx
    
  1. 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:

  1. Chybový log
    sudo tail -f /var/log/nginx/error.log
    
  1. Přístupový log
    sudo tail -f /var/log/nginx/access.log
    

Časté problémy a řešení

  1. Nginx se nespustí
  • Příčina: chyby v konfiguračním souboru
  • Řešení: bash sudo nginx -t Zkontrolujte syntaktické chyby a opravte je.
  1. Změny nejsou aplikovány
  • Příčina: Nginx nebyl znovu načten
  • Řešení: Spusťte sudo systemctl reload nginx po změnách.
  1. 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:

  1. Zkontrolovat stav UFW
    sudo ufw status
    
  1. Použít pravidla pro Nginx
    sudo ufw allow 'Nginx Full'
    
  1. Povolit UFW
    sudo ufw enable
    

Další vylepšení zabezpečení

  1. Zakázat zbytečné HTTP metody
    if ($request_method !~ ^(GET|POST|HEAD)$) {
        return 444;
    }
    
  1. Zakázat výpis adresářů
    autoindex off;
    
  1. 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 root nebo nesprávná oprávnění
  • Řešení:
  • Ověřte direktivu root a 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:

  1. 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
  1. Zvyšte zabezpečení
  • Zvažte nasazení Web Application Firewall (WAF)
  1. Zavedení automatizace
  • Použijte Ansible nebo Docker k automatizaci konfigurace a nasazení
  1. 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!

年収訴求