Per chi usa Debian 11, potresti aver notato che l'installazione di Nginx direttamente da Il repository di Debian non si installa l'ultima versione stabile o principale . È piuttosto indietro rispetto a dove Nginx è stabile e Mainline è al momento attuale del suo sviluppo.
Per la maggior parte, sarà preferibile utilizzare Nginx predefinito fornito in bundle con Debian, ma per coloro che desiderano utilizzare versioni più recenti per le ultime funzionalità, il seguente tutorial tratterà i passaggi necessari per farlo.
Prerequisiti
- Sistema operativo consigliato: Debian 11 Bullseye
- Account utente: Un account utente con accesso sudo o root.
Aggiorna sistema operativo
Aggiorna la tua Debian sistema operativo per assicurarsi che tutti i pacchetti esistenti siano aggiornati:
sudo apt update && sudo apt upgrade -y
Il tutorial utilizzerà il comando sudo e supponendo che tu abbia lo stato sudo .
Per verificare lo stato di sudo sul tuo account:
sudo whoami
Esempio di output che mostra lo stato di sudo:
[joshua@debian~]$ sudo whoami
root
Per configurare un account sudo esistente o nuovo, visita il nostro tutorial su Aggiunta di un utente a Sudoer su Debian .
Per utilizzare l'account root , usa il comando seguente con la password di root per accedere.
su
Rimuovi l'installazione precedente di Nginx
Innanzitutto, devi rimuovere qualsiasi installazione precedente di Nginx che sono attivi prima di installare Nginx Mainline.
Interrompi Nginx utilizzando il systemctl comando come segue:
systemctl stop nginx
Crea una copia del tuo nginx.conf file per il backup in caso di sovrascrittura o eliminazione accidentale di quello esistente:
cp /etc/nginx/nginx.conf /etc/nginx/nginx-backup.conf
Quindi, rimuovi Nginx usando il seguente comando:
apt remove nginx
Installa i pacchetti richiesti
Saranno necessari alcuni pacchetti aggiuntivi per installare le ultime versioni della linea principale o stabile di Nginx dal repository Nginx ufficiale. Esegui il seguente comando per installare o per verificare se sono installati sul tuo sistema Debian Bullseye:
apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
Importa i repository Ngnix
Successivamente, saranno necessari alcuni passaggi per importare correttamente il repository come segue.
Importa chiave GPG
Utilizzando il comando curl , importa la chiave GPG in modo che il gestore di pacchetti APT possa verificare l'autenticità dei pacchetti della linea principale di Nginx:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Molto la chiave GPG
Successivamente, si consiglia di testare e verificare che il file di download contenga la chiave corretta. Per fare ciò, usa il seguente comando nel tuo terminale:
gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
Dovrebbe apparire l'output di esempio:
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <[email protected]>
Importa il repository principale di Nginx
Per configurare e importare il repository Nginx Mainline, esegui il seguente comando nel tuo terminale:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Importa repository stabile Nginx
Lo stesso di Nginx Mainline di cui sopra, per Nginx Stable, usa il seguente comando nel tuo terminale:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Aggiungi la versione del repository Nginx da installare
Quindi, usa il seguente comando di blocco per fare in modo che Debian utilizzi il repository di Nginx sul repository Debian Nginx predefinito:
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
Esempio di output:
se o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
Package: *
Pin: origin nginx.org
Pin: release o=nginx
Pin-Priority: 900
Installa Nginx Mainline o Stable
Ora che hai impostato il repository, prima di eseguire il comando di installazione di Nginx, devi aggiornare l'elenco dei repository per riflettere le nuove modifiche come segue:
apt update
Quindi, esegui il comando Nginx install, questo installerà l'ultima versione Nginx del repository che hai importato che è mainline o stabile:
apt install nginx -y
Tieni presente che ti potrebbe essere richiesto di mantenere o sostituire il tuo /etc/nginx/ esistente nginx.conf file di configurazione durante l'installazione. Si consiglia di conservare il file di configurazione corrente premendo (n) . Verrà eseguita una copia indipendentemente dalla versione del manutentore e puoi anche verificarla in futuro.
Verifica se Nginx è stato installato correttamente e all'ultima versione eseguendo il comando seguente:
sudo nginx -v
Esempio di output (Esempio di linea principale Nginx)
nginx version: nginx/1.21.1
Come sopra, la versione installata al momento della scrittura è l'ultima versione di Nginx Mainline.
Per impostazione predefinita, Nginx dovrebbe essere abilitato se non è attivato. usa:
sudo systemctl start nginx
Per consentire l'avvio di Nginx all'avvio, utilizzare il comando seguente:
sudo systemctl enable nginx
Esempio di output in caso di successo:
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx
Verifica lo stato di Nginx:
sudo systemctl status nginx
Esempio di output:

Aggiornamento Nginx
Per gli aggiornamenti futuri, tutto ciò che devi fare è eseguire il gestore di pacchetti APT come al solito controlleresti gli aggiornamenti del tuo sistema.
apt update
Se è disponibile un aggiornamento, esegui il comando seguente, che è lo stesso dell'inizio del tutorial per l'aggiornamento del tuo sistema Debian:
apt upgrade
Opzione di installazione alternativa – Repository Ondřej Surý
Un metodo alternativo consiste nell'installare l'ultima linea principale o stabile di Nginx dal repository Ondřej Surý. Molti utenti di Ubuntu conoscerebbero il suo PPA e puoi fare lo stesso praticamente in Debian.
Per utilizzare l'ultima versione di Nginx mainline o stable, dovrai prima importare il repository.
Per importare il repository della linea principale:
curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x
Per importare un repository stabile:
curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x
Aggiorna il tuo repository per riflettere la nuova modifica:
apt update
Ora che hai installato il repository Nginx e aggiornato l'elenco dei repository, installa Nginx con quanto segue:
apt install nginx-core nginx-common nginx nginx-full
Esempio di output:

Digita Y , quindi premi il tasto Invio per procedere e completare l'installazione.
Tieni presente che ti potrebbe essere richiesto di mantenere o sostituire il tuo /etc/nginx/ esistente nginx.conf file di configurazione durante l'installazione. Si consiglia di conservare il file di configurazione corrente premendo (n) . Verrà eseguita una copia indipendentemente dalla versione del manutentore e potrai verificarla anche in futuro.
Noterai che in questa versione saranno disponibili moduli aggiuntivi, in particolare il supporto brotli. Per installare brotli, segui i passaggi seguenti.
Apri il tuo nginx.conf file di configurazione:
nano /etc/nginx/nginx.conf
Ora aggiungi le righe aggiuntive prima in HTTP{} sezione:
brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;
Il livello_comp_brotli può essere impostato tra 1 (minimo) e 11 (il massimo) . In genere, la maggior parte dei server si trova nel mezzo, ma se il tuo server è un mostro, imposta su 11 e monitora i livelli di utilizzo della CPU.
Quindi, verifica che le modifiche funzionino correttamente prima di renderle attive:
sudo nginx -t
Se le modifiche funzionano correttamente, dovresti vedere quanto segue:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ora rendi attive le modifiche riavviando il tuo server:
sudo systemctl restart nginx