【问题标题】:Is nginx responsible why I got an err_empty_response and err_connection_reset?nginx 对为什么我得到一个 err_empty_response 和 err_connection_reset 负责吗?
【发布时间】:2015-08-10 07:11:48
【问题描述】:

我是python flask web开发的新手,这也是我第一次在其他服务器上部署flask应用程序来自其他位置并访问它到我的电脑,乍一看我可以成功地从我的电脑访问URL,哦,忘了提,我的应用程序是关于将 .xls 文件上传到数据库的文件,我打算上传 7000 多条记录,但是当应用程序运行时间很长时,浏览器总是给我一个 ERR_EMPTY_RESPONSE 有时是 ERR_CONNECTION_RESET,但是当我尝试上传时1000-1300条记录,就成功了。我很困扰,因为我无法从 python manage.py runserver 运行的本地主机复制此错误,仅当我从其他使用 gunicorn 和 nginx 的服务器访问应用程序时才收到此错误。希望你能听懂我的英语。这是我对 nginx 的配置设置:

server {
        location / {
                proxy_pass http://localhost:8000;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
        }
}

谢谢!

【问题讨论】:

    标签: python-2.7 nginx flask gunicorn


    【解决方案1】:

    尝试在location 指令中设置client_max_body_size 0; 以禁用上传文件的任何大小限制,并尝试添加lingering_time 120s

    如果文件太大并出现超时,Nginx 将中止上传过程。这将阻止您的应用实际获取任何数据并引发错误。

    顺便说一句:如果上述方法可行,我会将值调整为更合理的值。

    更多关于client_max_body_sizelingering_time的信息

    【讨论】:

    • 谢谢,已经尝试过了,但它不起作用,仍然收到 ERR_EMPTY_RESPONSE。但是,我找到了一个解决方案,我 pip 安装了gevent 并将其用作gunicorn 中的工人类。但是很遗憾不知道如何在supervisor命令变量中应用它,你熟悉吗?非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多