我运行Ubuntu 10.04,Django 1.3,Nginx 0.8.54和uWSGI 0.9.7。
Nginx和uWSGI加载没有错误。 但是,当您访问我的网站时,它坐在一个很长的时间,然后最终加载“504网关超时”错误。
这是我的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
我有这个服务器上的其他两个站点具有相同的configuration,他们加载完美。
有没有其他人遇到过这个问题? 这里有几个线程是类似于我的问题,我已经尝试了几个这样的解决scheme,但似乎没有任何工作。
预先感谢您的帮助!
当请求超过NGINX uwsgi_read_timeout设置时,会产生这个错误。 NGINX超过这个限制后,它关闭套接字,然后uWSGI试图写入关闭的套接字,产生从uWSIG中看到的错误。
确保你的NGINX超时至少和uWSGI超时一样高(HARAKIRI_TIMEOUT)。
UNIX:///home/mysite/public/myapp.sock; 语法不正确,使用如下所示:
UNIX:/home/mysite/public/myapp.sock;