nginx错误:worker_connections是不够的

asp*_*t75 7 nginx

我是Nginx的新手.

我想用Nginx做的是流量负载平衡.为此,我配置了nginx.conf,如下所示

系统结构

      udp        udp
    A <--> Nginx <--> Backend 1
                 <--> Backend 2
Run Code Online (Sandbox Code Playgroud)

nginx.conf

user  nginx;
worker_processes  4;
worker_rlimit_nofile 30000;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

stream {
upstream udp_upstreams {
   server 1:1:1:1:9997 fail_timeout=60s;
   server 1:1:1:2:9997 fail_timeout=60s;
}

server {
    listen 9000 udp;
    proxy_pass udp_upstreams;
    proxy_timeout 3s;
    proxy_responses 1;
    error_log /var/log/nginx/udp.log;
}
}

events {
    worker_connections  10240;
}
Run Code Online (Sandbox Code Playgroud)

当我运行nginx时,nginx打印了很多以下消息.

2016/04/27 04:50:36 [alert] 3137#3137: *446352 10240 worker_connections are not enough while connecting to upstream, udp client: 3.3.3.3, server: 0.0.0.0:9000, upstream: "1.1.1.2:9997", bytes from/to client:0/0, bytes from/to upstream:0/0
2016/04/27 04:50:36 [alert] 3136#3136: *446353 10240 worker_connections are not enough while connecting to upstream, udp client: 3.3.3.3, server: 0.0.0.0:9000, upstream: "1.1.1.1:9997", bytes from/to client:0/0, bytes from/to upstream:0/0
Run Code Online (Sandbox Code Playgroud)

我如何配置nginx.conf来解决它?我已经将work_connections值设置为40000.但它没用.

提前致谢.

Tar*_*win 9

我刚刚遇到同样的问题并在我停止了谷歌搜索并开始阅读nginx文档后找到了解决方案.^ _ ^;

参数'proxy_responses'告诉nginx等待对请求的x响应.我的情况,日志转发,有非.所以nginx等待并使服务器失效.

解:

proxy_responses 0
Run Code Online (Sandbox Code Playgroud)

文档:http: //nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_responses