Perché Nginx crea un file "off"?


Se hai mai trovato un file chiamato off in /etc/nginx/, ecco spiegato il motivo.

Nginx consente di disattivare i log degli errori, ma bisogna farlo utilizzando la sintassi corretta:

error_log /dev/null;

Se per sbaglio scrivi:

error_log off;

Nginx interpreta off come il percorso di un file - non come una parola chiave - e tenterà quindi di creare (o scrivere su) un file /etc/nginx/off. Ecco perché potresti trovare un file vuoto chiamato off nella directory di configurazione.

Questo succede perché il parser di configurazione di Nginx non riconosce off come valore speciale per la direttiva error_log. Si aspetta invece un percorso come primo argomento e, opzionalmente, un livello di log (warn, error, debug).

Per disattivare davvero i log, basta redirigerli a /dev/null, che scarta ogni output:

error_log /dev/null;

Con questa semplice correzione, eviterai la creazione del misterioso file off.

Ti è mai capitato? A me sì 😁 Ecco perché ho pensato di scrivere un breve articolo a riguardo.