NGINX per sviluppatori: l’abc.
Configurazione di base per servire un contenuto statico.
Partiamo da un presupposto semplice: NGINX è tuo amico.
Post-installazione trovi il file di configurazione principale in /etc/nginx/nginx.conf
Come riportato nella documentazione ufficiale, NGINX consiste di moduli che sono controllati da direttive specificate in file di configurazione.
Le direttive sono divise in due gruppi:
- Direttiva semplice, un nome e un parametro separate da uno spazio e un punto e virgola (;) a chiudere la linea;
- Direttiva a blocco, un nome e due graffe { } che contengono altre direttive semplici;
Se una direttiva contiene altre direttive al suo interno, questa viene definita “contesto”.
Per gli amanti della precisione e della completezza:
- le direttive events e http risiedono dentro il contesto main
- le direttive server nel contesto http
- le direttive location nel contesto server.
Nel file di configurazione principale troviamo il contesto “http” che include una serie di file (es. mime-types), definisce i file di log, il timeout e in chiusura troviamo
include /etc/nginx/conf.d/*.conf;
ossia, includi tutti i file con estensione .conf all’interno della cartella conf.d che è la cartella in cui andiamo a inserire le nostre direttive server (virtual hosts per i fan di Apache).
La struttura di un file di configurazione è semplice, può includere uno o più blocchi server distinti dalla porta su cui ci aspettiamo di ricevere il traffico e dal nome del server.
Prendiamo ad esempio la seguente configurazione:
server {
listen 80;
server_name localhost;location / {
root /var/www;
index index.html index.htm;
}
Tradotto, alle chiamate che ricevi sulla porta 80, per il nome localhost puoi servire il contenuto di /var/www il cui file index si chiama index.html oppure index.htm.
Uno screenshot vale più di mille parole:
Nginx funzionante, contenuto statico servito.