70

Ubuntu 12.04サーバーとnginx 1.2.7をインストールし、defaultサイト対応から削除し、独自のファイルをに追加しsites-available、シンボリックリンクを追加しましたsites-enabled。次にnginxを再起動しました。

問題: URL にアクセスしてもサイトが読み込まれません。netstat -nlp | grep nginxどちらも結果をnetstat -nlp | grep 80返しません!lsof -i :80また、何も返しません。別のサーバーからのAdigは正しい IP アドレスを返すため、DNS の問題ではありません。サービスを停止したApacheに接続できました。nginx ログにも何も表示されません。

この問題のトラブルシューティング方法を教えてください。

/etc/nginx/site-available/mysite.com

server {
    listen   80;
    server_name www.mysite.com mysite.com *.mysite.com;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    root /var/www/mysite/public;

    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args ;
    }
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_read_timeout 300;
    }

}
4

11 に答える 11

33

ログに問題が記録されていない場合は、サイトが有効なディレクトリが含まれていない可能性があります。サイトが読み込まれていることを確認する簡単な方法の 1 つは、サーバー ブロック内のエラー/アクセス ログ パスを一意のパスに設定し、nginx をリロードして、ファイルが作成されているかどうかを確認することです。

次の include ディレクティブが /etc/nginx/nginx.conf の http コンテキスト内に存在することを確認します。

http {
  ...
  include /etc/nginx/sites-enabled/*;
}
于 2013-09-25T01:40:00.183 に答える
7

Failed to load resource: net::ERR_CONNECTION_REFUSEDHTTP経由で接続するとエラーが発生しましたが、HTTPS経由では問題ありませんでした。実行したところ、 nginxnetstat -tulpnが IPv4 のポート 80 にバインドされていないことがわかりました。ここに記載されているすべてを実行します。非常に愚かなものであることが判明しました:

sites-availableを含むファイルdefault_serverが実際に有効になっていることを確認してください。

これにより、他の貧しい愚か者がしばらく救われることを願っています。

于 2015-02-03T14:59:03.677 に答える
3

たとえば、前の行でセミコロン;が欠落している場合、この命令をバイパスすることができ、チェックはとにかく成功します。/etc/nginx/nginx.confinclude /etc/nginx/servers-enabled/*;nginx -t

したがって、すべての命令/etc/nginx/nginx.confがセミコロンで終わっていることを確認してください;

于 2016-12-27T20:52:49.063 に答える
0

私たちは皆、ばかげた間違いをしないと思っていますが、間違いを犯しています。

そのため、NGINX の問題を調べていて、すべての兆候が機能することを示している場合は、ファイルから一歩離れて下流に目を向ける必要があります。

システム ファイアウォール、ハードウェア ファイアウォール、Nat ルーター/ファイアウォール。

私自身、この問題は私のルーターでした。私はホーム ラボを実行しているので、ルーターの背後にあるサービスに遠くからアクセスできます。私のルーターは IP に基づいて着信のみを処理し、ホスト名の処理を行わないため、NGINX を使用してリバース プロキシを使用します。これはすべてかなり正常であると確信しています。

いずれにせよ、数日前にネットワークを保護していたときに問題が発生し、不要になったポート転送を削除し、誤ってポート 80 を削除しました。

はい、そのポートをNGINXに再度転送するのと同じくらい簡単で、すべて修正されました。

私は今、非常に恥ずべきことで頭を下げて立ち去りますが、この回答を残して、このスレッドの人々に感謝の意を表して、私自身の誤りを見つけさせます.

ありがとうございます。

于 2019-10-09T21:41:41.713 に答える