Heim  >  Fragen und Antworten  >  Hauptteil

django – Nginx-Timeout-Einstellungen

Ich verwende Nginx+Django+FastCGI, um einen Dienst zur Verarbeitung einer großen XML-Datei auszuführen. Die Datei ist zu groß und die Verarbeitung ist langsam. Es kommt zur Hälfte des Prozesses zu einer Zeitüberschreitung.
Ich habe die Nginx-Konfiguration auf 120 geändert, aber es scheint immer noch keine Auswirkung zu haben.

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

Gibt es noch etwas, das geändert werden muss?

巴扎黑巴扎黑2712 Tage vor560

Antworte allen(4)Ich werde antworten

  • 黄舟

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

    应该用:

    fastcgi_read_timeout 600;
    fastcgi_send_timeout 600;

    这两个选项.
    fastcgi_read_timeout是指fastcgi进程向nginx进程发送response的整个过程的超时时间
    fastcgi_send_timeout是指nginx进程向fastcgi进程发送request的整个过程的超时时间

    这两个选项默认都是秒(s),可以手动指定为分钟(m),小时(h)等.

    Antwort
    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...

    Antwort
    0
  • 漂亮男人

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

    proxy是代理跟后端通信的时间,需要修改fastcgi超时时间

    Antwort
    0
  • 淡淡烟草味

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

    看看是504 还是 502

    Antwort
    0
  • StornierenAntwort