In precedenza abbiamo discusso su come installare lo stack LEMP, che è uno stack software comune per ospitare siti Web dinamici, su Ubuntu 18.04 LTS. Tuttavia, il software nella versione Ubuntu LTS (supporto a lungo termine) è spesso obsoleto. In questo tutorial, impareremo come installare l'ultima versione di Nginx su Ubuntu 18.04 e Ubuntu 20.04. Al momento della stesura di questo articolo, l'ultima versione di Nginx è la 1.17.0, rilasciata il 21 maggio 2019. Puoi vedere il registro delle modifiche qui.
Installazione dell'ultima versione di Nginx su Ubuntu 18.04, 20.04 dal repository Nginx ufficiale
Nginx.org mantiene un repository per Ubuntu. Possiamo usare questo repository per installare l'ultima versione di Nginx. Innanzitutto, crea un file sorgente del repository per Nginx con il comando seguente. Nano è un editor di testo da riga di comando.
sudo nano /etc/apt/sources.list.d/nginx.list
Aggiungi le seguenti due righe nel file.
deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ bionic nginx deb-src http://nginx.org/packages/mainline/ubuntu/ bionic nginx
Se usi Ubuntu 20.04, cambia bionic
a focal
.
deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ disco nginx deb-src http://nginx.org/packages/mainline/ubuntu/ disco nginx
Per salvare il file nell'editor di testo Nano, premi CTRL+O
, quindi premi Enter
per confermare. Premi CTRL+X
uscire. Per verificare l'integrità dei pacchetti scaricati da questo repository, è necessario importare la chiave pubblica Nginx utilizzando i comandi seguenti.
wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key
Una volta che il repository è stato aggiunto al tuo sistema Ubuntu 18.04, esegui il comando seguente per aggiornare le informazioni sul repository.
sudo apt update
Se hai installato Nginx dal repository del software Ubuntu predefinito, devi rimuoverlo.
sudo apt remove nginx nginx-common nginx-full nginx-core
Inoltre potresti voler eseguire il backup del file di configurazione Nginx principale /etc/nginx/nginx.conf
perché verrà sostituito con un nuovo nginx.conf
file quando in seguito installiamo l'ultima versione di Nginx.
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
I file di blocco del server esistenti (noti anche come file host virtuale) saranno intatti. Ora esegui il seguente comando per installare Nginx dal repository nginx.org.
sudo apt install nginx
Se il gestore di pacchetti apt ti chiede se vuoi installare una nuova versione del file /etc/nginx/nginx.conf, puoi rispondere No.
Dopo aver installato Nginx, testa la configurazione di Nginx.
sudo nginx -t
Se il test ha esito positivo, avvia Nginx.
sudo systemctl start nginx
Abilita l'avvio automatico all'avvio.
sudo systemctl enable nginx
Per controllare lo stato di Nginx, esegui
systemctl status nginx
Uscita:
● 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.
Per controllare la versione di Nginx, usa questo comando:
nginx -v
Uscita:
nginx version: nginx/1.17.0
Puoi anche controllare informazioni più dettagliate con:
nginx -V
Uscita:
Impostazione dell'utente del processo Nginx
Il pacchetto Nginx dal repository nginx.org ha impostato nginx
come utente del processo Nginx che può essere dedotto dalla prima riga di /etc/nginx/nginx.conf
file. (Se hai scelto di installare la nuova versione di /etc/nginx/nginx.conf
file.)
user nginx;
Tuttavia, l'utente predefinito e il gruppo del processo PHP-FPM è www-data
come si può vedere in /etc/php/7.2/fpm/pool.d/www.conf
file.
user = www-data group = www-data
Quindi dobbiamo impostare www-data
come utente del processo Nginx in /etc/nginx/nginx.conf
file.
sudo nano /etc/nginx/nginx.conf
Cambia
user nginx;
a
user www-data;
Salva e chiudi il file. Quindi ricarica Nginx.
sudo systemctl reload nginx
Compresi i file di blocco del server
Per impostazione predefinita, solo i file in /etc/nginx/conf.d/
la directory sarà inclusa. Se desideri utilizzare anche i file di blocco del server in sites-enabled
directory, quindi assicurati che le seguenti righe siano aggiunte nella http
sezione di nginx.conf
file.
include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*;
Installa il plug-in Certbot Nginx
Se in precedenza hai installato Nginx dal repository di Ubuntu, il pacchetto python3-certbot-nginx è stato probabilmente rimosso quando installi Nginx dal repository nginx.org. Dobbiamo reinstallarlo in modo che il tuo certificato TLS possa essere rinnovato automaticamente come al solito.
sudo apt install python3-certbot-nginx
Come riavviare automaticamente Nginx
A volte Nginx può bloccarsi per vari motivi. Se preferisci riavviare automaticamente Nginx dopo un arresto anomalo, è necessario modificare l'unità di servizio Nginx. Per prima cosa, copia l'unità di servizio Nginx originale in /etc/systemd/system/
directory.
sudo cp /lib/systemd/system/nginx.service /etc/systemd/system/nginx.service
Quindi modifica l'unità di servizio.
sudo nano /etc/systemd/system/nginx.service
Aggiungi la seguente riga nel [service]
sezione.
Restart=always RestartSec=2
Così:
[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
In questo modo Nginx proverà a riavviarsi ogni 2 secondi dopo un arresto anomalo. Salva e chiudi il file. Quindi riavvia Nginx.
sudo systemctl restart nginx
Passaggio successivo
Spero che questo tutorial ti abbia aiutato a installare l'ultima versione di Nginx su Ubuntu 18.04 e Ubuntu 20.04. Potresti anche voler installare l'ultima versione del server di database MariaDB su Ubuntu 18.04 e 20.04.
- Come installare MariaDB 10.5 su Ubuntu 18.04, Ubuntu 20.04
E se ti interessa la sicurezza, puoi configurare il firewall dell'applicazione Web ModSecurity per proteggere il tuo sito WordPress dall'hacking.
- Come configurare ModSecurity con Nginx su Debian/Ubuntu
Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita per ricevere nuovi suggerimenti e trucchi 🙂