首頁  >  問答  >  主體

django - Nginx超時設置

我用Nginx Django FastCGI跑一個服務,是要處理一個巨大的XML,猶豫檔案太大,處理比較慢,爬到一半就超時了。
我改了Nginx的配置,原來是60,改到120,但看起來像是沒效果,還是60s超時。

location ^~ /api/ {
    proxy_read_timeout 120;
    proxy_connect_timeout 120;
    fastcgi_pass 127.0.0.1:8080;
}

還有別的哪裡要改嗎?

巴扎黑巴扎黑2712 天前563

全部回覆(4)我來回復

  • 黄舟

    黄舟2017-05-16 17:31:42

    應該用:

    fastcgi_read_timeout 600;
    fastcgi_send_timeout 600;

    這兩個選項.
    fastcgi_read_timeout是指fastcgi進程傳送response的整個過程的逾時時間
    fastcgi_send_timeout是指nginx程序向fastcgi程序發送request的整個過程的逾時時間

    這兩個選項預設都是秒(s),可以手動指定為分鐘(m),小時(h)等.

    回覆
    0
  • PHPz

    PHPz2017-05-16 17:31:42

    對於這樣花較長事件處理的頁面最好改成異步處理,Nginx的連接時間好像不能超過75秒.

    fastcgi_connect_timeout 75;
    fastcgi_read_timeout 120;
    fastcgi_send_timeout 120;

    http://wiki.nginx.org/HttpFastcgiModu...

    回覆
    0
  • 漂亮男人

    漂亮男人2017-05-16 17:31:42

    proxy是代理跟後端通訊的時間,需要修改fastcgi逾時時間

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:31:42

    看看是504 還是 502

    回覆
    0
  • 取消回覆