Nginx je bezplatný, vysoce výkonný a open-source HTTP a reverzní proxy server. Může být použit jako samostatný webový server a jako reverzní proxy pro Apache a další webové servery. Je to flexibilnější a lehčí program než Apache HTTP Server, a proto pohání některé z největších webů na internetu.
Nginx zvládne větší množství připojení než Apache a spotřebuje menší paměť.
Zde v LinuxAPT, jako součást našich služeb správy serveru, pravidelně pomáháme našim zákazníkům provádět související dotazy Nginx.
V této souvislosti se podíváme na to, jak nainstalovat Nginx na server Debian 9.
Jak nainstalovat Nginx na Debian?
Než budete pokračovat v tomto postupu instalace, ujistěte se, že jsou splněny následující předpoklady:
- Měli byste se přihlásit k serveru Debian s uživatelským účtem bez oprávnění root.
- Ujistěte se, že Apache nebo jiné služby neběží na portu 80 nebo 443.
Nyní aktualizujte index systémových balíčků na nejnovější verzi spuštěním příkazu:
$ sudo apt update
Nyní nainstalujte Nginx zadáním:
$ sudo apt install nginx
Po dokončení procesu instalace se služba Nginx automaticky spustí. Můžete to ověřit spuštěním následujícího příkazu:
$ sudo systemctl status nginx
Output
● 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 Mon 2019-04-15 20:19:06 IST; 32min ago
Docs: man:nginx(8)
Process: 421 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 370 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 423 (nginx)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/nginx.service
├─423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─424 nginx: worker process
Jak upravit bránu firewall pro Nginx?
Pokud je na vašem serveru povolena brána firewall, musíte otevřít porty HTTP(80) i HTTPS(443).
Spuštěním následujících příkazů otevřete porty HTTP(80) i HTTPS(443):
$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --permanent --zone=public --add-service=https
$ sudo firewall-cmd --reload
Pokud k filtrování připojení k systému používáte iptables, budete muset otevřít porty HTTP (80) a HTTPS (443).
Otevřete potřebné porty zadáním následujícího příkazu:
$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
$ sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Svou instalaci Nginx můžete ověřit návštěvou níže uvedené adresy URL ve vašem prohlížeči:
http://YOUR_SERVER_IP_ADDRESS
Nyní uvidíte výchozí uvítací stránku Nginx.
Jak spravovat službu Nginx?
Nakonec jste na svůj počítač nainstalovali server Nginx HTTP. Níže je uvedeno několik základních příkazů pro správu služby Nginx:
Službu Nginx můžete zastavit spuštěním níže uvedeného příkazu:
$ sudo systemctl stop nginx
Chcete-li jej znovu spustit zadáním:
$ sudo systemctl start nginx
Restartujte (zastavte a spusťte) službu Nginx službu Apache pomocí:
$ sudo systemctl restart nginx
Pokud je konfigurační soubor upraven a chcete znovu načíst službu nginx, můžete to provést zadáním:
$ sudo systemctl reload nginx
Chcete-li zakázat automatické spouštění Nginx po spuštění, spusťte níže uvedený příkaz:
$ sudo systemctl disable nginx
Chcete-li znovu povolit, zadejte:
$ sudo systemctl enable nginx
Struktura konfiguračních souborů Nginx
- Všechny konfigurační soubory jsou umístěny v adresáři /etc/nginx/.
- Hlavní konfigurační soubor Nginx je na /etc/nginx/nginx.conf.
- Pro lepší údržbu je doporučeno vytvořit samostatný konfigurační soubor pro každou doménu.
- Nové bloky serveru (konfigurační soubor) každé domény by měly být uloženy v adresáři /etc/nginx/sites-available. Musíte vytvořit symbolický odkaz na tyto konfigurační soubory v /etc/nginx/sites-enabled, abyste je mohli použít Nginx.
- Aktivace serverových bloků se provádí vytvořením symbolického odkazu (ukazatele) ze stránek konfiguračního souboru v adresáři /etc/nginx/sites-enabled do adresáře sites-enabled.
- Výchozí webový kořenový adresář serveru je /var/www/html
- Doporučeným postupem je dodržovat standardní konvence pojmenování. Název souborů bloku serveru Nginx by měl být názvem domény a musí končit příponou .conf. Například název vaší domény je example.com a název souboru bloku serveru by měl být example.com.conf
- Soubory protokolu Nginx (access.log a error.log) jsou umístěny v adresáři /var/log/nginx/. Také se doporučuje mít pro každý blok serveru jiný přístup a soubory protokolu chyb.
Soubory protokolů serveru Nginx:
/var/log/nginx/access.log:Každý požadavek na váš webový server je zaznamenán v tomto souboru protokolu, pokud není Nginx nakonfigurován tak, aby dělal jinak.
/var/log/nginx/error.log:Všechny chyby Nginx budou zaznamenány do tohoto protokolu.