nginx错误:worker_connections是不够的

时间:2016-04-27 05:15:51

标签: nginx

我是Nginx的新手。

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

系统结构

      udp        udp
    A <--> Nginx <--> Backend 1
                 <--> Backend 2

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;
}

当我运行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

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

提前致谢。

1 个答案:

答案 0 :(得分:9)

我遇到了同样的问题,在我停止了google搜索并开始阅读nginx文档之后找到了解决方案。 ^ _ ^;

参数&#39; proxy_responses&#39;告诉nginx等待对请求的x响应。我的情况,日志转发,有非。因此nginx等待并使服务器失效。

解决方案:

proxy_responses 0

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