首页  >  问答  >  正文

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 天前561

全部回复(4)我来回复

  • 黄舟

    黄舟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)等.

    回复
    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
  • 取消回复