I file di configurazione di Nginx si trovano nella directory /etc/nginx/. Essa contiene il file di configurazione principale, che si chiama nginx.conf, e gli eventuali file di configurazione richiamati dal principale.
Sintassi
La sintassi dei file di configurazione di Nginx è piuttosto semplice e ricorda quella dei linguaggi C-like (ovvero con struttura sintattica simile al linguaggio C).
Le varie opzioni che è possibile specificare nel file di configurazione sono dette direttive. Una direttiva può essere semplice, ovvero contenere un solo valore, o composta, ovvero costituita da più campi.
Una direttiva semplice è costituita da un nome (che identifica l'opzione da configurare), un valore (da assegnare all'opzione relativa) e termina con il carattere punto e virgola (;). Nome e valore sono separati da uno spazio. Ad esempio, la direttiva worker_processes, che specifica il numero di processi worker che il server deve utilizzare, viene definita con la sintassi seguente:
worker_processes 1;
Le direttive composte sono dette blocchi. Esse non terminano con il carattere punto e virgola. Sono invece seguite da un blocco di direttive ad esse associate delimitato da parentesi graffe. Nel gergo di Nginx, un blocco contenente delle direttive crea un contesto. Ad esempio, la direttiva server, usata per specificare alcuni parametri quali la porta TCP in ascolto, il nome host del server, ed altro ancora, può essere specificata come segue:
server {
listen 80 default_server;
server_name miosito.com www.miosito.com;
root /var/www/miosito.com;
index index.html;
try_files $uri /index.html;
}
Infine, la sintassi prevede la possibilità di inserire delle righe di commento, le quali iniziano con il carattere #. Ad esempio:
# La riga seguente imposta il numero di worker ad 1
worker_processes 1;
Un esempio minimale
Uno dei compiti più ovvi per un server web è quello di servire contenuti statici mediante HTTP. Per configurare Nginx a tale scopo, sono sufficienti poche direttive, come mostrato nell'esempio seguente.
user nginx;
worker_processes 1;
error_log nginx_error.log;
http {
server {
listen 80;
location / {
root /var/www/html;
}
}
}
Nginx verrà eseguito come demone in background con l'utente nginx e si metterà in ascolto sulla porta TCP 80, servendo i file statici presenti nella directory /var/www/html.
Nelle lezioni successive verranno presentate altre direttive di configurazione e le relative applicazioni.