nginx 10054: An existing connect

2020-02-03  本文已影响0人  haiyong6

在使用nginx过程中,有些通过nginx反向代理转发到tomcat的接口请求莫名被强制取消,以至于无法返回数据,其他接口回数据也很慢,出现这种情况的原因应该是nginx的连接数和tomcat的连接数没有配置好导致。按照下面的方法解决了。
nginx监听接口为80,后台tomcat为82。

1.修改tomcat的server.xml配置。配置信息如下:

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
    maxThreads="2048"
    maxHttpHeaderSize="8192"
    minSpareThreads="512"
    maxSpareThreads="1024"
    maxIdleTime="30000"/>
    
    <Connector executor="tomcatThreadPool"
    port="82"
    protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443"
    acceptCount="1024"
    enableLookups="false"
    URIEncoding="utf-8"   
    compression="on"/>

2.修改nginx的nginx.conf文件,配置信息如下:

http{}中添加:

  keepalive_requests 8192;
  keepalive_timeout 180s 180s;

server里的location中添加:proxy_http_version 1.1;

server{
       
  location /api/ {
            #root   gtmcApp;
            #index  index.html index.htm;
            proxy_pass http://172.16.4.120:8580/;
            proxy_http_version 1.1;
            #允许cros跨域访问
            #add_header 'Access-Control-Allow-Origin' '*';
        }
        location /gtmcApp {
            alias   gtmcApp;
            index  index.html index.htm;
        }
        location /gtmcApp/api/ {
            #root   gtmcApp;
            #index  index.html index.htm;
            proxy_pass http://172.16.4.120:8580/;
            proxy_http_version 1.1;
            #允许cros跨域访问
            #add_header 'Access-Control-Allow-Origin' '*';
        }


}

如此,重启tomcat和nginx ,问题解决了。

参考:https://www.cnblogs.com/Jiphen/p/9685047.html

上一篇 下一篇

猜你喜欢

热点阅读