web-dev-qa-db-ja.com

nginx:[emerg] /etc/nginx/sites-enabled/example.com:3の不明なディレクティブ ""

私はこのウェブサイト http://raspberrypihelp.net/tutorials/24-raspberry-pi-webserver に従ってRaspberry PiにHTTPサーバーnginxをセットアップし、サイト呼び出しをセットアップしようとしましたexample.com。しかし、Sudo service nginx restartを実行すると、

Nginxの再起動:nginx:[emerg] /etc/nginx/sites-enabled/example.com:3の不明なディレクティブ ""

これはexample.comのコードです。

    server {

    server_name example.com 192.168.1.88;

    access_log /srv/www/example.com/logs/access.log;

    error_log /srv/www/example.com/logs/error.log;

    root /srv/www/example.com/public/;

    location / {

        index index.php index.html index.htm;

        try_files $uri $uri/ /index.php?$args;

    }

    location ~ \.php$ {

        include /etc/nginx/fastcgi_params;

        fastcgi_pass unix:/var/run/php5-fpm.sock;

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME /srv/www/example.com/public$fastcgi_script_name;

    }

    location /phpmyadmin {

        root /usr/share/;

        index index.php index.html index.htm;

        location ~ ^/phpmyadmin/(.+\.php)$ {

            try_files $uri =404;

            root /usr/share/;

            fastcgi_pass unix:/var/run/php5-fpm.sock;

            fastcgi_index index.php;

            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

            include /etc/nginx/fastcgi_params;

        }

        location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {

            root /usr/share/;

        }

    }

    location /phpMyAdmin {

        rewrite ^/* /phpmyadmin last;

    }

}

手順に従っていますが、正常に実行できません。

11
Confucius

同じ問題がありましたが、Webから構成コードをコピーして貼り付け、そこにいくつかのダーティEOL(行末)文字がありました。

エディターはそれらを表示しませんでしたが、nginxはそれらをディレクティブのように扱いました。

すべてのEOLを削除して、再度追加しました。

17
Andres Bott

ここでコピーアンドペースト作業を行ったようです。行末(EOL)で非表示になっている余分な文字を取得することは珍しくありません。これを試して:

このツールでテキストを実行します: http://www.textfixer.com/tools/remove-line-breaks.php

次に、削除された可能性があり、コメントの影響を受けるブレークを修正します。

これでうまくいきました。それがあなたのために働くことを願っています。

8
Philll_t

Nginxバイナリは--without-http_fastcgi_moduleオプションでコンパイルされたようです。これはデフォルトではありません。別のバイナリをダウンロードまたはコンパイルしてみてください。

実行してみてください

nginx -V

(大文字のVを使用)nginxのコンパイルに使用されたオプションを確認します。

1
Ahmed

Confファイルの途中でテキストを編集したところ、nginxはファイル自体の先頭でこのエラーを表示し始めました。ファイルの内容をコピーして新しいファイルを作成し、そこに内容を貼り付けたところ、nginxはこのエラーを表示しなくなりました。

0
shanmuga raja

「Sudo nginx -t」を実行すると、「不明なディレクティブ 'index.html'」のようなエラーメッセージで同様の問題に直面しました。 index.htmlのHTML構文エラーを修正した後、問題は解決されました。

0
Malathy