
Nginx è un server HTTP e proxy inverso open source ad alte prestazioni che alimenta alcuni dei più grandi siti su Internet. Rispetto ad Apache, Nginx può gestire un numero molto elevato di connessioni simultanee e ha un footprint di memoria inferiore per connessione.
Nginx può essere utilizzato come server Web autonomo e come proxy inverso per server HTTP e non HTTP.
In questo tutorial spiegheremo come installare e gestire Nginx su Debian 10 Buster.
Installa Nginx #
Il pacchetto Nginx è incluso nei repository Debian Buster predefiniti. L'installazione è piuttosto semplice, basta eseguire i seguenti comandi come root o utente con privilegi sudo:
sudo apt update
sudo apt install nginx
Il servizio Nginx si avvierà automaticamente al termine del processo di installazione. Puoi verificarlo con curl
come mostrato di seguito:
curl -I 127.0.0.1
L'output sarà simile a questo:
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Tue, 16 Jul 2019 16:50:46 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 16 Jul 2019 16:50:26 GMT
Connection: keep-alive
ETag: "5d2e0052-264"
Accept-Ranges: bytes
Puoi usare il systemctl
comando per gestire il servizio Nginx, come qualsiasi altra unità systemd.
Regola il firewall #
Gli utenti UFW possono aprire HTTP (80
) e HTTPS (443
) porte abilitando il profilo 'Nginx Full':
sudo ufw allow 'Nginx Full'
Se stai usando nftable per filtrare le connessioni al tuo sistema, apri le porte necessarie eseguendo il seguente comando:
nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept
Struttura e best practice del file di configurazione Nginx #
- I file di configurazione di Nginx sono archiviati in
/etc/nginx
directory. - Il file di configurazione principale di Nginx è
/etc/nginx/nginx.conf
. - I file di configurazione del blocco del server (vhost) sono archiviati in
/etc/nginx/sites-available
directory. I file di configurazione che si trovano in questa directory vengono utilizzati da Nginx solo se collegati a/etc/nginx/sites-enabled
directory. - Per attivare un server, crea un collegamento simbolico (un puntatore) dal file di configurazione in un
sites-available
nella directorysites-enabled
directory. - Per scrivere codice più gestibile, è una buona idea seguire una convenzione di denominazione standard. Ad esempio, se il tuo nome di dominio è
mydomain.com
quindi il file di configurazione dovrebbe essere chiamato/etc/nginx/sites-available/mydomain.com.conf
. - Il
/etc/nginx/snippets
contiene frammenti di configurazione che possono essere inclusi nei file di blocco del server. Se utilizzi segmenti di configurazione ripetibili, puoi refactoring di tali segmenti in snippet e includere il file snippet nei blocchi del server. - File di registro Nginx (
access.log
eerror.log
) si trovano in/var/log/nginx/
directory. Si consiglia di avere unaccess
diverso eerror
log per ogni blocco di server. - Puoi impostare la directory principale del documento di dominio in qualsiasi posizione desideri. Le posizioni più comuni per webroot includono:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>