Dříve jsme diskutovali o tom, jak nainstalovat LEMP stack, což je běžný softwarový stack pro hostování dynamických webových stránek, na Ubuntu 18.04 LTS. Software ve verzi Ubuntu LTS (long term support) je však často zastaralý. V tomto tutoriálu se naučíme, jak nainstalovat nejnovější verzi Nginx na Ubuntu 18.04 a Ubuntu 20.04. V době psaní tohoto článku je nejnovější verze Nginx 1.17.0, vydaná 21. května 2019. Zde se můžete podívat na protokol změn.
Instalace nejnovější verze Nginx na Ubuntu 18.04, 20.04 z oficiálního úložiště Nginx
Nginx.org spravuje úložiště pro Ubuntu. Toto úložiště můžeme použít k instalaci nejnovější verze Nginx. Nejprve vytvořte zdrojový soubor úložiště pro Nginx pomocí následujícího příkazu. Nano je textový editor příkazového řádku.
sudo nano /etc/apt/sources.list.d/nginx.list
Přidejte do souboru následující dva řádky.
deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ bionic nginx deb-src http://nginx.org/packages/mainline/ubuntu/ bionic nginx
Pokud používáte Ubuntu 20.04, změňte bionic
na focal
.
deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ disco nginx deb-src http://nginx.org/packages/mainline/ubuntu/ disco nginx
Chcete-li soubor uložit v textovém editoru Nano, stiskněte CTRL+O
a poté stiskněte Enter
potvrdit. Stiskněte CTRL+X
k východu. Abychom ověřili integritu balíčků stažených z tohoto úložiště, musíme importovat veřejný klíč Nginx pomocí příkazů níže.
wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key
Jakmile je úložiště přidáno do vašeho systému Ubuntu 18.04, spusťte následující příkaz pro aktualizaci informací o úložišti.
sudo apt update
Pokud jste nainstalovali Nginx z výchozího úložiště softwaru Ubuntu, musíte jej odebrat.
sudo apt remove nginx nginx-common nginx-full nginx-core
Možná budete chtít zálohovat hlavní konfigurační soubor Nginx /etc/nginx/nginx.conf
protože bude nahrazen novým nginx.conf
když později nainstalujeme nejnovější verzi Nginx.
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
Vaše stávající soubory bloků serveru (neboli soubor virtuálního hostitele) zůstanou nedotčené. Nyní spusťte následující příkaz k instalaci Nginx z úložiště nginx.org.
sudo apt install nginx
Pokud se vás správce balíčků apt zeptá, zda chcete nainstalovat novou verzi souboru /etc/nginx/nginx.conf, můžete odpovědět Ne.
Po instalaci Nginx otestujte konfiguraci Nginx.
sudo nginx -t
Pokud je test úspěšný, spusťte Nginx.
sudo systemctl start nginx
Povolte automatické spuštění při spouštění.
sudo systemctl enable nginx
Chcete-li zkontrolovat stav Nginx, spusťte
systemctl status nginx
Výstup:
● nginx.service - nginx - high performance web server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2019-05-26 21:01:10 CST; 3s ago Docs: http://nginx.org/en/docs/ Process: 16159 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 16160 (nginx) Tasks: 2 (limit: 4915) CGroup: /system.slice/nginx.service ├─16160 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf └─16161 nginx: worker process May 26 21:01:10 bionic.local.domain systemd[1]: Starting nginx - high performance web server... May 26 21:01:10 bionic.local.domain systemd[1]: Started nginx - high performance web server.
Chcete-li zkontrolovat verzi Nginx, použijte tento příkaz:
nginx -v
Výstup:
nginx version: nginx/1.17.0
Můžete také zkontrolovat podrobnější informace pomocí:
nginx -V
Výstup:
Nastavení uživatele procesu Nginx
Balíček Nginx z úložiště nginx.org sada nginx
jako uživatel procesu Nginx, což lze odvodit z prvního řádku /etc/nginx/nginx.conf
soubor. (Pokud se rozhodnete nainstalovat novou verzi /etc/nginx/nginx.conf
soubor.)
user nginx;
Výchozí uživatel a skupina procesu PHP-FPM je však www-data
jak je vidět v /etc/php/7.2/fpm/pool.d/www.conf
soubor.
user = www-data group = www-data
Musíme tedy nastavit www-data
jako uživatel procesu Nginx v /etc/nginx/nginx.conf
soubor.
sudo nano /etc/nginx/nginx.conf
Změnit
user nginx;
do
user www-data;
Uložte a zavřete soubor. Poté znovu načtěte Nginx.
sudo systemctl reload nginx
Včetně souborů bloků serveru
Ve výchozím nastavení pouze soubory pod /etc/nginx/conf.d/
adresář bude zahrnut. Pokud chcete také použít soubory blokování serveru v sites-enabled
a poté se ujistěte, že jsou do http
přidány následující řádky části nginx.conf
soubor.
include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*;
Nainstalujte plugin Certbot Nginx
Pokud jste dříve nainstalovali Nginx z úložiště Ubuntu, pak byl balíček python3-certbot-nginx pravděpodobně odstraněn při instalaci Nginx z úložiště nginx.org. Potřebujeme jej nainstalovat zpět, aby se váš certifikát TLS mohl automaticky obnovit jako obvykle.
sudo apt install python3-certbot-nginx
Jak automaticky restartovat Nginx
Někdy může Nginx spadnout z různých důvodů. Pokud dáváte přednost tomu, aby se Nginx po havárii automaticky restartoval, musíme upravit servisní jednotku Nginx. Nejprve zkopírujte původní servisní jednotku Nginx do /etc/systemd/system/
adresář.
sudo cp /lib/systemd/system/nginx.service /etc/systemd/system/nginx.service
Poté upravte servisní jednotku.
sudo nano /etc/systemd/system/nginx.service
Přidejte následující řádek do [service]
sekce.
Restart=always RestartSec=2
Asi takhle:
[Service] Type=forking PIDFile=/var/run/nginx.pid ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s TERM $MAINPID Restart=always RestartSec=2
To způsobí, že se Nginx pokusí restartovat každé 2 sekundy po havárii. Uložte a zavřete soubor. Poté restartujte Nginx.
sudo systemctl restart nginx
Další krok
Doufám, že vám tento návod pomohl nainstalovat nejnovější verzi Nginx na Ubuntu 18.04 a Ubuntu 20.04. Můžete také chtít nainstalovat nejnovější verzi databázového serveru MariaDB na Ubuntu 18.04 a 20.04.
- Jak nainstalovat MariaDB 10.5 na Ubuntu 18.04, Ubuntu 20.04
A pokud vám záleží na zabezpečení, můžete nastavit bránu firewall webové aplikace ModSecurity, která ochrání váš web WordPress před hackováním.
- Jak nastavit ModSecurity s Nginx na Debian/Ubuntu
Jako vždy, pokud pro vás byl tento příspěvek užitečný, přihlaste se k odběru našeho bezplatného zpravodaje a získejte nové tipy a triky 🙂