web-dev-qa-db-ja.com

「;」を期待するnginxの予期しないファイルの終わりまたはRaspbian経由の/ etc / nginx / sites-enabled / default:20の「}」

私はnginxとRaspberryの初心者です。

私はnginxを使用してインストールしました

Sudo apt-getインストール

そして、その時点ではすべてが順調でした。問題は、nginxを再起動しようとしたときに発生し、このエラーをスローしました

Nginx.serviceのジョブが失敗しました。詳細については、「systemctl status ngins.service」および「journaldtl -xn」を参照してください

調査の結果、問題は次のエラーであることがわかりました。

予期しないファイルの終わり、「;」が必要/ etc/nginx/sites-enabled/default:20の「}」

私のデフォルトのファイルは次のとおりです。

# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
## 

server {
    #listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6
    listen 80;
    server_name $domain_name;
    root /var/www;
    index index.html index.htm;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;



    # Make site accessible from http://localhost/
    server_name localhost;

    location /

あなたが私を助けることができることを願っています:)

@Thanh Nguyen Vanがすでに答えているように。 locationは、中かっこで開き、閉じてから、サーバーの最後にもう1つの中かっこで閉じます。

server {
    #listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6

    listen 80;
    server_name $domain_name;
    root /var/www;
    index index.html index.htm;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    # Make site accessible from http://localhost/
    server_name localhost;

    location / {

    }
}
3

同じ問題がありました。サーバーブロック '{...} `内の新しい追加行の最後に;が欠落していることを確認しました。

中括弧と;がすべて所定の位置にあることを確認してください。

4
jningthou

以下のようにnginxファイルを修正してください:

例えば:

http {


       upstream api-app {
        .....................;   

        }
        ........................; 
        server {

              location / {
               ...................;
               proxy_set_header Host $Host;
               proxy_cache_bypass $http_upgrade;

              }
        }

}

確認してください ;を行末に、{ ..}正しく。

1

また、予期しない引用符(単一または二重)がないことを確認してください。 Dockerを使用してenv varとして値を渡していたときを理解するのにしばらく時間がかかったので、誤って引用されていました。

したがって、これは間違ったビットになります:

upstream backend {
    "server localhost:9000;"
}

これは正しいものです:

upstream backend {
    server localhost:9000;
}
0
Vladimir Salin