2011-07-12 41 views
13

Tôi đang chạy Ubuntu 10.04, Django 1.3, Nginx 0.8.54 và uWSGI 0.9.7.Django + Nginx + uWSGI = 504 Cổng hết giờ

Cả tải Nginx và uWSGI đều không có lỗi. Tuy nhiên, khi bạn truy cập vào trang web của tôi, nó nằm trong một thời gian dài và sau đó cuối cùng tải một lỗi "504 cổng hết thời gian chờ".

Đây là Nginx tập Virtual Host conf của tôi:

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; 
} 

}

log Trang web của tôi cho thấy điều này:

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

My log lỗi chương trình này:

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

Tôi có hai các trang web khác trên máy chủ này có cùng cấu hình và chúng tải HOÀN THÀNH.

Có ai khác đã gặp sự cố này không? Có một số chủ đề trên đây là tương tự như vấn đề của tôi và tôi đã thử một số trong những giải pháp nhưng không có gì có vẻ làm việc.

Cảm ơn bạn trước sự giúp đỡ của bạn!

+0

Thêm cấu hình cho uWSGI. Tôi nghĩ rằng vấn đề với đường dẫn ở đây 'uwsgi_pass unix: ///home/mysite/public/myapp.sock;' – nk9

Trả lời

1

unix: ///home/mysite/public/myapp.sock; Cú pháp không chính xác, sử dụng như sau:

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

19

Lỗi đó được tạo khi các yêu cầu vượt quá cài đặt NGINX uwsgi_read_timeout. Sau NGINX vượt quá giới hạn này, nó đóng socket và sau đó uWSGI cố gắng ghi vào socket đã đóng, tạo ra lỗi mà bạn thấy từ uWSIG.

Đảm bảo thời gian chờ NGINX của bạn tối thiểu bằng thời gian chờ uWSGI (HARAKIRI_TIMEOUT).

+0

Để làm rõ, bạn cần thêm 'uwsgi_read_timeout 600;' vào phần 'location' tương ứng. – serg

+0

Người đàn ông, ... Tôi đã đập đầu của tôi trong 3 giờ, cố gắng thiết lập bất kỳ tham số nào trong nginx. Cám ơn! –

Các vấn đề liên quan