Debian - jedna z nejpopulárnějších distribucí Linuxu, která je široce používána jako operační systém pro servery. Je známý svou spolehlivostí a stabilitou a snadnou instalací a nastavením.
Nginx - je to výkonný webový server, který vám umožňuje efektivně zpracovat velké množství požadavků a rozložit zátěž na server. Má také vysoký výkon a kompatibilitu s různými programovacími jazyky a rámci.
V tomto podrobném návodu se podíváme na proces instalace a konfigurace Nginx na Debianu. Ukážeme vám, jak nainstalovat Nginx prostřednictvím oficiálních úložišť Debian, nakonfigurovat základní nastavení serveru a přidat virtuální hostitele pro různé weby.
Poznámka: před zahájením konfigurace se ujistěte, že máte přístup k serveru s nainstalovaným operačním systémem Debian a oprávněními správce.
Příprava na instalaci
Před instalací Nginx na Debian je třeba provést několik přípravných akcí:
-
Aktualizace operačního systému. Chcete-li to provést, spusťte příkaz:
sudo apt update && sudo apt upgrade
sudo apt install curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
echo "deb-src [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee -a /etc/apt/sources.list.d/nginx.list
sudo apt update
Instalace Nginx na Debian
Chcete-li nainstalovat Nginx na operační systém Debian, postupujte podle následujících kroků:
1. Otevřete terminál a zadejte příkaz:
sudo apt update
2. Po aktualizaci seznamu balíčků zadejte příkaz k instalaci Nginx:
sudo apt install nginx
3. Pokud požádáte o potvrzení, potvrďte instalaci kliknutím na "Y".
4. Po dokončení instalace můžete zkontrolovat stav nginx zadáním příkazu:
sudo systemctl status nginx
5. Pokud je Nginx úspěšně nainstalován a spuštěn, zobrazí se Zpráva o jeho stavu.
Gratuluji! Úspěšně jste nainstalovali Nginx na Debian a jste připraveni začít jej konfigurovat a používat.
Konfigurace Nginx
Konfigurace serveru Nginx na Debianu se provádí změnou konfiguračních souborů v adresáři /etc/nginx. Hlavní konfigurační soubor - nginx.conf.
Před zahájením úpravy konfiguračního souboru se doporučuje zálohovat původní soubor. Chcete-li to provést, spusťte příkaz:
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
Po vytvoření zálohy můžete začít upravovat soubor. Soubor nginx.conf obsahuje základní nastavení serveru Nginx a určuje, které konfigurační soubory je třeba stáhnout.
Pro přidání dalších konfigurací se doporučuje vytvořit samostatný soubor v adresáři /etc/nginx/conf.d. Můžete například vytvořit soubor example.conf pomocí příkazu:
sudo nano /etc/nginx/conf.d/example.conf
V souboru example.conf pro váš web můžete nastavit následující nastavení:
server: určuje server Nginx a určuje, na který Port a doménu nebo IP adresu bude odposloucháván;
location: určuje, které adresy URL jsou obsluhovány tímto serverem Nginx a jaké zpracování bude provedeno.
Po provedení změn v konfiguračních souborech je nutné restartovat server Nginx, aby se změny projevily. Chcete-li to provést, spusťte příkaz:
sudo service nginx restart
Nyní je váš server Nginx připraven pracovat s novým nastavením.
Přidání virtuálních hostitelů
Chcete-li přidat virtuální hostitele do Nginx na Debianu, postupujte podle následujících kroků:
- Otevřete konfigurační soubor nginx: sudo nano /etc/nginx/nginx.conf
- Najděte blok http < . >a přidejte do něj následující kód: server < listen 80; server_name example.com www.example.com; root / var / www / example. com; location / < index index.html; >> Kde:
- listen 80; - označuje port, na kterém bude server poslouchat (obvykle je to port 80 pro HTTP nebo port 443 pro HTTPS);
- server_name example.com www.example.com; - seznam názvů domén, které budou spojeny s tímto virtuálním hostitelem;
- root / var / www / example. com; - cesta do kořenového adresáře webu;
- location / < . >- nastavení zpracování dotazů v tomto adresáři;
- index index.html; - označuje název souboru, který se ve výchozím nastavení zobrazí, pokud není v URL uveden konkrétní název souboru.
- Uložte změny a zavřete konfigurační soubor.
- Zkontrolujte syntaktické chyby v konfiguračním souboru: sudo nginx-t
- Restartujte službu Nginx a použijte změny: sudo systemctl restart nginx
Nyní můžete vytvářet a konfigurovat virtuální hostitele v Nginx na Debianu přidáním nových bloků serveru < . >v konfiguračním souboru. Každý virtuální hostitel musí obsahovat jedinečný název domény a cestu k kořenovému adresáři webu.
Konfigurace SSL certifikátů
Certifikáty SSL umožňují zabezpečené spojení mezi klientem a serverem, aby byly přenášené informace zašifrovány a aby je útočníci nemohli zachytit.
Nejprve musíte získat SSL certifikát. Můžete jej získat od důvěryhodného certifikačního centra (Certificate Authority), které zkontroluje vaši identitu a potvrdí vaše právo používat název domény.
Jakmile obdržíte SSL certifikát, budete jej muset nainstalovat na server. Chcete-li to provést, postupujte podle následujících kroků:
-
Vytvořte adresář pro uložení certifikátu:
sudo mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
sudo cp /path/to/your/certificate.crt /etc/nginx/ssl/sudo cp /path/to/your/private.key /etc/nginx/ssl/
server
sudo service nginx restart
Po provedení těchto kroků bude váš server používat certifikáty SSL k zajištění zabezpečeného připojení k zákazníkům.
Konfigurace přístupu k nginx přes firewall
Když nastavíte Nginx na svém serveru, je důležité zajistit, aby přístup k webovému serveru byl omezen pouze na adresy IP, které potřebujete. K tomu můžete použít firewall a nastavit pravidla přístupu k Nginx.
V Debianu již můžete mít nainstalovaný Firewall IPtables. Pokud není nainstalován, můžete jej nainstalovat dalším příkazem:
sudo apt-get install iptables
Po instalaci můžete začít konfigurovat přístup k nginx přes firewall. Zde je několik příkladů pravidel, která mohou být užitečná:
-
Povolit přístup pouze z určité IP adresy:
sudo iptables -A INPUT -p tcp --dport 80 -s your_ip_address -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -s your_ip_address -j DROP
sudo iptables -A INPUT -p tcp --dport 80 -s allowed_ip_address -j ACCEPTsudo iptables -A INPUT -p tcp --dport 80 -j DROP
Upozorňujeme, že tato pravidla platí pouze pro port 80, který používá webový server Nginx. Pokud používáte jiný port,vyměňte --dport 80 za požadovaný port.
Po nastavení pravidel je uložte, aby byly použity po restartu:
sudo iptables-save > /etc/iptables/rules.v4
Nyní jste nakonfigurovali přístup k nginx prostřednictvím brány firewall a můžete si být jisti bezpečností svého serveru.