"File di configurazione /etc/nginx/nginx.conf test non riuscito": Come faccio a sapere perché è successo?


91

Sono un noob nginx che prova questo tutorial su nginx 1.1.19 su ubuntu 12.04. Ho questo file di configurazione nginx.

Quando eseguo questo comando il test fallisce:

$ sudo service nginx restart
Restarting nginx: nginx: [crit] pread() "/etc/nginx/sites-enabled/csv" failed (21: Is a directory)
nginx: configuration file /etc/nginx/nginx.conf test failed

Come faccio a sapere perché il test nginx.conf non è riuscito?


1
Hai ancora "default" nel tuo "/ etc / ngix / sites-enabled"?
RickyA

@ RickyA intendi il file "predefinito"? Sì, ho ancora quel file in quella directory. Ho spostato quel file ed eseguito nginx -s reload e vedo ancora lo stesso comportamento dal server
bernie2436

l'errore menziona il file csv, controlla quel file nei siti abilitati
Mohammad AbuShady

1
Ad sudo service nginx restart) Nginx ha anche uno strumento CLI: nginx -s reloadper ricaricare la configurazione nel caso in cui fosse cambiata. È molto più veloce.
Kaiser il

Risposte:


168

sudo nginx -t dovrebbe testare tutti i file e restituire gli errori e le posizioni degli avvisi


1
sta testando solo un file, ad esempio: /etc/nginx/nginx.conf ma come posso testare siti abilitati / predefiniti?
aitchkhan

4
pensa che testerebbe tutti, purché siano inclusi nel file predefinito (che presumo lo siano?), Se non stai usando il percorso del file di configurazione predefinito, prova a usare il -cflag, quindinginx -c /etc/nginx/sites-enabled/default -t
Mohammad AbuShady

Posso confermare ciò che ha detto @MohammadAbuShady. Anche se la pagina di manuale per -tdice in qualche modo vagamente Non eseguire, prova solo il file di configurazione. Il nginx controlla la configurazione per la sintassi corretta e quindi tenta di aprire i file indicati nella configurazione. i file non vengono solo controllati per l'esistenza ma analizzati. Come previsto, il codice di uscita è 1 se viene rilevato un errore e 0 in caso contrario.
Günther Eberl

5

Questo particolare comando ha funzionato per me. sudo apt-get remove --purge nginx nginx-full nginx-common

e sudo apt-get install nginx

credito a questa risposta su stackexchnage


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.