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 updatesudo 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/nginxdirectory. - 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-availabledirectory. I file di configurazione che si trovano in questa directory vengono utilizzati da Nginx solo se collegati a/etc/nginx/sites-enableddirectory. - Per attivare un server, crea un collegamento simbolico (un puntatore) dal file di configurazione in un
sites-availablenella directorysites-enableddirectory. - Per scrivere codice più gestibile, è una buona idea seguire una convenzione di denominazione standard. Ad esempio, se il tuo nome di dominio è
mydomain.comquindi il file di configurazione dovrebbe essere chiamato/etc/nginx/sites-available/mydomain.com.conf. - Il
/etc/nginx/snippetscontiene 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.logeerror.log) si trovano in/var/log/nginx/directory. Si consiglia di avere unaccessdiverso eerrorlog 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>