NGINX per sviluppatori: l’abc.

Marco Orlandin
2 min readJul 21, 2018

--

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).

Pagina di benvenuto di default per nginx!

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:

La configurazione di esempio in azione nel mio container docker di test.

Nginx funzionante, contenuto statico servito.

--

--

Marco Orlandin

Bearded IT Architect and Enthusiast; Food lover; Vegan; Bull Terrier roommate;