「構成ファイル/etc/nginx/nginx.confテストが失敗しました」:これが発生した理由をどのように知ることができますか?


91

私は、ubuntu12.04のnginx1.1.19でこのチュートリアルを試しているnginxnoobです。私はこのnginx設定ファイルを持っています。

このコマンドを実行すると、テストは失敗します。

$ 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

nginx.confテストが失敗した理由をどのように知ることができますか?


1
「/ etc / ngix / sites-enabled」にまだ「デフォルト」がありますか?
RickyA 2014年

@RickyA「デフォルト」ファイルのことですか?はい、そのファイルはまだそのディレクトリにあります。そのファイルを移動してnginx-s reloadを実行しても、サーバーから同じ動作が見られます
bernie2436 2014年

エラーはファイルcsvに言及しています、サイト対応のファイルを確認してください
Mohammad AbuShady 2014年

1
Ad sudo service nginx restart)NginxにはCLIツールもありますnginx -s reload。変更された場合に構成を再読み込みします。それははるかに高速です。
カイザー2016

回答:


168

sudo nginx -t すべてのファイルをテストし、エラーと警告の場所を返す必要があります


1
/etc/nginx/nginx.confという1つのファイルのみをテストしていますが、sites-enabled / defaultをテストするにはどうすればよいですか?
aitchkhan 2017

4
それは彼らが、デフォルトのファイルに含まれている限り、それは、すべてをテストするだろうと思う、あなたがして使ってみて、デフォルトの設定ファイルのパスを使用していない場合は(私は彼らがしていると仮定している?)-cフラグを、そうnginx -c /etc/nginx/sites-enabled/default -t
モハマドAbuShady

@MohammadAbuShadyが言ったことを確認できます。のマンページには、実行しないでくださいと-t漠然と書かれていますが、構成ファイルをテストするだけです。nginxは構成の構文が正しいかどうかを確認してから、構成で参照されているファイルを開こうとします。ファイルは存在するかどうかだけでなく、解析されます。予想どおり、エラーが見つかった場合の終了コードは1で、それ以外の場合は0です。
ギュンターEberl

5

この特定のコマンドは私のために働いた。 sudo apt-get remove --purge nginx nginx-full nginx-common

そして sudo apt-get install nginx

stackexchnageのこの回答のクレジット


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.