GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat nejnovější verzi Nginx na Ubuntu 18.04, Ubuntu 20.04

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 🙂


Ubuntu
  1. Jak nainstalovat nejnovější Vim na Ubuntu

  2. Jak nainstalovat nejnovější verzi Nitroshare na Ubuntu?

  3. Jak nainstalovat ClamAV na Ubuntu 20.04

  1. Jak nainstalovat nejnovější verzi ruční brzdy na Ubuntu

  2. Jak nainstalovat Nginx na Ubuntu 18.04

  3. Jak nainstalovat g ++ na Ubuntu

  1. Jak nainstalovat Nginx na Ubuntu 16.04

  2. Jak nainstalovat Git na Ubuntu 20.04

  3. Jak nainstalovat Nginx na Ubuntu 20.04