“File konfigurasi /etc/nginx/nginx.conf test gagal”: Bagaimana saya tahu mengapa ini terjadi?


91

Saya seorang nginx noob yang mencoba tutorial ini di nginx 1.1.19 di ubuntu 12.04. Saya memiliki file konfigurasi nginx ini .

Ketika saya menjalankan perintah ini, tes gagal:

$ 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

Bagaimana cara mengetahui mengapa pengujian nginx.conf gagal?


1
Apakah Anda masih memiliki "default" di "/ etc / ngix / sites-enabled"?
RickyA

@RickyA maksud Anda file "default"? Ya, saya masih menyimpan file itu di direktori itu. Saya memindahkan file itu dan menjalankan nginx -s reload dan masih melihat perilaku yang sama dari server
bernie2436

kesalahan menyebutkan file csv, periksa file itu di situs-diaktifkan
Mohammad AbuShady

1
Ad sudo service nginx restart) Nginx juga memiliki alat CLI: nginx -s reloaduntuk memuat ulang konfigurasi jika diubah. Itu jauh lebih cepat.
kaiser

Jawaban:


168

sudo nginx -t harus menguji semua file dan mengembalikan kesalahan dan lokasi peringatan


1
itu hanya menguji satu file yaitu: /etc/nginx/nginx.conf tetapi bagaimana cara menguji sites-enabled / default?
aitchkhan

4
itu pikir itu akan menguji semua, selama mereka termasuk dalam file default (yang saya asumsikan?), jika Anda tidak menggunakan jalur file konfigurasi default maka coba gunakan -cbendera, jadinginx -c /etc/nginx/sites-enabled/default -t
Mohammad AbuShady

Dapat mengonfirmasi apa yang dikatakan @MohammadAbuShady. Meskipun halaman manual -tagak samar-samar mengatakan Jangan jalankan, uji saja file konfigurasinya. Nginx memeriksa konfigurasi untuk sintaks yang benar dan kemudian mencoba membuka file yang dirujuk dalam konfigurasi. file tidak hanya diperiksa keberadaannya tetapi juga diurai. Seperti yang diharapkan, kode keluar adalah 1 jika kesalahan ditemukan dan 0 sebaliknya.
Günther Eberl

5

Perintah khusus ini berhasil untuk saya. sudo apt-get remove --purge nginx nginx-full nginx-common

dan sudo apt-get install nginx

kredit untuk jawaban ini di stackexchnage


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.