我是Nginx的新手。
我想用Nginx做的是流量负载平衡。 为此,我配置了nginx.conf,如下所示
udp udp
A <--> Nginx <--> Backend 1
<--> Backend 2
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.但它没用。
提前致谢。
答案 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