uwsgi_response_write_body报错的几种状况

一、uwsgi_response_write_body_do(): Broken pipe

出现这种状况通常是因为客户端没法等到服务端的回应而关闭了链接,常出现与nginx + uwsgi的状况,当uwsgi作完准备给nginx回应时,发现链接已经关闭了,这时候就会报这个错,须要检查服务端的处理逻辑为何花这么长时间。nginx

二、uwsgi_response_write_body_do(): TIMEOUT !!!

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

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

 

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

 

三、uwsgi_response_write_body_do(): Connection reset by peer

这种状况通常是客户端在接受返回时,服务端主动关闭和客户端的链接而致使,而此时,返回值还未彻底返回完成,这种状况,首要检查服务端配置,如:socket超时时间是否过段;客户端长短链接是否不匹配等。blog

相关文章
相关标签/搜索