zoukankan      html  css  js  c++  java
  • uwsgi_response_write_body报错的几种情况

    1、uwsgi_response_write_body_do(): Broken pipe

    出现这种情况一般是由于客户端无法等到服务端的回应而关闭了连接,常出现与nginx + uwsgi的情况,当uwsgi做完准备给nginx回应时,发现连接已经关闭了,这时候就会报这个错,需要检查服务端的处理逻辑为什么花这么长时间。

    2、uwsgi_response_write_body_do(): TIMEOUT !!!

    出现这种情况是客户端一直在接口返回值,但是服务端未生成完整的返回,出现这种情况一般是服务端以很快的速度向nginx写返回,但是nginx向客户端写返回的速度较慢,nginx启动buffer的话,看下面的解释,nginx会以最佳的速度接收response

    如果buffer放不下,就会用到uwsgi_max_temp_file_size这个参数,这边可以设置一个临时文件的大小,如果设置为0,则禁用该功能。

     

    如果出现上述报错,则可以设置一个较大的临时文件大小,以存储response,如果不想设置,则也可以通过禁用buffer解决该问题,禁用buffer后,nginx同步向客户端传输response,最多能读的大小是通过uwsgi_buffer_size设置的。

     

    3、uwsgi_response_write_body_do(): Connection reset by peer

    这种情况一般是客户端在接受返回时,服务端主动关闭和客户端的连接而导致,而此时,返回值还未完全返回完成,这种情况,首要检查服务端配置,如:socket超时时间是否过段;客户端长短连接是否不匹配等。

  • 相关阅读:
    自定义瀑布流
    传值 属性 block 单例 协议
    sqlite数据库中 保存和读取UIData对象
    SQL
    关于在Xcode控制台打印的注意点
    synthesize的作用
    iPhone屏幕尺寸/launch尺寸/icon尺寸
    关于TableView上有一段留白的解决方法
    mac显示隐藏文件
    多线程之GCD
  • 原文地址:https://www.cnblogs.com/small-office/p/10537809.html
Copyright © 2011-2022 走看看