Gubicorn/Nginx 无法完全下载文件:[CRITICAL] WORKER TIMEOUT (pid:18)

Gubicorn/Nginx 无法完全下载文件:[CRITICAL] WORKER TIMEOUT (pid:18)

我在 docker 中运行一个带有 nginx 的 django 应用程序。我可以使用库通过 API 下载文件requests。当我想下载一个 55 MB 的文件时,连接突然中断,下载无法完成。

我尝试像这样调整 nginx 配置,但下载仍然没有成功:


user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
        worker_connections 1024;
        use epoll;
        multi_accept off;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    send_timeout       7200;
    keepalive_timeout  7200;
    fastcgi_read_timeout 7200;
    proxy_read_timeout 7200;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

我也尝试将工人设置得更高,但文档中不建议这样做。我设置了

send_timeout       7200;
    keepalive_timeout  7200;
    fastcgi_read_timeout 7200;
    proxy_read_timeout 7200;

非常高,所以服务器不会关闭连接。但下载到 27 MB 后仍然中断。

是否有任何配置会导致这种情况?

非常感谢您的帮助。提前致谢。

编辑:我可以在浏览器中使用快速互联网连接下载文件。但是当连接速度很慢时,它就会中断。但我也需要能够使用较慢的连接下载文件。

EDIT2:实时跟踪日志时,我收到 [CRITICAL] WORKER TIMEOUT (pid:18) 。这与 nginx 有关吗?

相关内容