17

Ubuntu 10.04、Django 1.3、Nginx 0.8.54、および uWSGI 0.9.7 を実行しています。

Nginx と uWSGI の両方がエラーなしで読み込まれます。ただし、私のサイトにアクセスすると、長時間放置され、最終的に「504 Gateway Time-out」エラーがロードされます。

これが私のNginx仮想ホストconfファイルです:

server {
listen          80;
server_name     www.mysite.com mysite.com;
error_log       /home/mysite/log/error.log;
access_log      /home/mysite/log/access.log;

location / {
    auth_basic  "Restricted";
    auth_basic_user_file    /home/mysite/public/passwd;
    include uwsgi_params;
    uwsgi_pass unix:///home/mysite/public/myapp.sock;
}

location /media {
    alias /home/mysite/public/myapp/media;
}


error_page  401  /coming_soon.html;

location /coming_soon.html {
    root /home/mysite/public/error_pages/401;
}

location /401/images {
    alias /home/mysite/public/error_pages/401/images;
}

location /401/style {
    alias /home/mysite/public/error_pages/401/style;
}

}

私のサイトログはこれを示しています:

SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) on request / !!!

私のエラーログはこれを示しています:

upstream timed out (110: Connection timed out) while reading response header from upstream

このサーバーには同じ構成のサイトが他に 2 つあり、それらは完全に読み込まれます。

他の誰かがこの問題に遭遇しましたか? ここには私の問題に似たスレッドがいくつかあり、それらの解決策をいくつか試しましたが、何もうまくいかないようです。

よろしくお願いします。

4

2 に答える 2

24

このエラーは、リクエストが NGINX のuwsgi_read_timeout設定を超えると生成されます。NGINX がこの制限を超えると、ソケットが閉じられ、uWSGI は閉じられたソケットに書き込もうとするため、uWSIG から見たエラーが発生します。

NGINX タイムアウトが少なくとも uWSGI タイムアウト (HARAKIRI_TIMEOUT) と同じであることを確認してください。

于 2012-08-14T21:50:59.463 に答える
0

unix:///home/mysite/public/myapp.sock; 構文が正しくありません。次のように使用します。

unix:/home/mysite/public/myapp.sock;

于 2011-07-25T11:12:15.930 に答える