当前位置:首页 > 技术文章 > 正文内容

nginx 解决 readv() failed (104: Connection reset by peer)

arlanguage5个月前 (12-14)技术文章49

查看nginx error错误,发现上传接口报以下错:

2019/10/10 19:58:25 [error] 299784#0: *5967188 readv() failed (104: Connection reset by peer) while reading upstream, client: 59.34.155.7, server: xxxxxxxx, request: "POST /stream/tracking/file HTTP/1.1", upstream: "http://xxxxxxxx/stream/tracking/file", host: "xxxxxxxx"

这种错误日志不多,第一感觉就是上传文件过大,传输时间过长,然后连接被中断。


当使用nginx作为反向代理时,为了支持长连接,需要做到两点:

从client到nginx的连接是长连接,对于客户端来说,nginx长连接是默认开启的。
从nginx到server的连接是长连接,需要自己开启

upstream bigdata {  
    server 10.0.20.xx:18018;  
    server 10.0.20.xx:18018;  
    server 10.0.20.xx:18018;  
    server 10.0.20.xx:18018;  
    keepalive 100;   //根据qps来调整  
}    
  
location ~ / {  
。。。。。。。。。省略。。。。。。。。。。。。。  
    proxy_connect_timeout      120;   //加大120  
    proxy_send_timeout         120;   //加大120  
    proxy_read_timeout         120;   //加大120  
    proxy_http_version 1.1;    //开启后端,长连接  
    proxy_set_header Connection "";  //开启后端,长连接  
}  

注意:keepalive指定的数值是Nginx每个worker连接后端的最大长连接数,而不是整个Nginx的.

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/182.html

标签: nginx 错误500
分享给朋友:

“nginx 解决 readv() failed (104: Connection reset by peer)” 的相关文章

解决php因为输出内容太短无法流式(Stream)输出问题

实测得知,如果用PHP做流式输出每次echo的内容太短的话,就没有流式的效果了,而是会等输出的长度达到一定时前端才能拿到结果,如下:这是我这边的测试结果,可见,这里仅接收到了两次流式输出,但是我在PHP里是输出了10次,从而证明了每次流式的内容达到一定长度时才能有流式得到效果,这个长度到底是多少,我...

Nginx 在微服务中的应用(9)

在微服务架构中,Nginx 通常作为反向代理服务器、负载均衡器和 API 网关,承担着多个关键角色。它可以帮助管理微服务之间的流量,确保请求的高效路由、负载均衡、流量控制、安全防护等。Nginx 由于其高性能、轻量级和配置灵活性,成为微服务架构中非常常见的组件。以下是 Nginx 在微服务中的几种主...

推荐一款 Nginx 可视化配置神器

Nginx 是前后端开发工程师必须掌握的神器。该神器有很多使用场景,比如反向代理、负载均衡、动静分离、跨域等等。把 Nginx 下载下来,打开 conf 文件夹的 nginx.conf 文件,Nginx 服务器的基础配置和默认的配置都存放于此。配置是让程序员非常头疼的事,比如 Java 后端框架...

nginx支持跨域的方法 nginx配置支持跨域

在nginx的配置文件中添加允许跨域的响应头。参考nginx官方文档,添加响应头的方法如下:在conf文件的server作用域中添加如下响应头:server { listen 80; # 其他配置... # 允许跨域 add_header Access-Control-Allow-...

在AWS上组合使用ELB和Nginx Plus获得更多特性

使用AWS的客户经常问我们,对于负载均衡,到底是使用AWS的ELB还是Nginx Plus?Amazon曾经发布了一个白皮书来说明如何在AWS上配置Nginx Plus。本文将聚焦在选择Nginx Plus或者ELB时需要考虑的因素方面,也会讨论一些更适合于组合使用Nginx Plus和ELB的情形...

Linux这17个操作技巧是每个运维工程师应知必会的吧?

今天跟大家分享17个linux运维中常用的操作技巧!掌握好这些技巧,或许某一天能够让老板给你涨工资!1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录:find . -name “*.tar” -exec mv {}./backup/ ;?注解:find –name 主要用于查找某个文件名...