Nginx

nginx:emerg____和米和rGemerg此處不允許使用“流”指令

  • March 20, 2018

我在 Ubuntu 16.04 上安裝了來自 ppa 的最新 NGINX。

nginx版本:nginx/1.12.1

據我了解,它應該支持流和UDP負載平衡。

但我收到此錯誤消息:

nginx: [emerg] "stream" directive is not allowed here in /etc/nginx/conf.d/load-balancer.conf:3

這是我的配置/etc/nginx/conf.d/load-balancer.conf

stream {
       upstream backend {
               least_conn;
               server 172.31.9.51 fail_timeout=10s;
               server 172.31.20.140 fail_timeout=10s;
       }

       server {
               listen          500 udp;
               listen          4500 udp;
               proxy_pass      backend;
               proxy_timeout   1s;
               proxy_responses 1;
               error_log       logs/dns.log;
       }
}

流需要與 http 塊處於同一級別,例如

http { foo }
stream { bar }

我的猜測是您的 include for/etc/nginx/conf.d/*.conf位於http {}塊中而不是塊之外。檢查 /etc/nginx/nginx.conf 的包含,也許你必須為流部分創建一個新的

引用自:https://serverfault.com/questions/883073