nginx - 将 Nginx 配置为 TCP 负载均衡器

标签 nginx tcp load-balancing

我想使用 Nginx 1.9 作为 TCP 负载均衡器。我遵循了 https://www.nginx.com/resources/admin-guide/tcp-load-balancing/ 中的教程但它没有用。

每次尝试启动 nginx 时,我都会遇到错误:

nginx: [emerg] unknown directive "stream" in /opt/nginx/nginx.conf

这是我的 nginx.conf 文件:

events {
    worker_connections  1024;
}


http {
# blah blah blah
}

stream {
    upstream backend {
        server 127.0.0.1:9630;
        server 127.0.0.1:9631;
    }
    server {
        listen 2802;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass backend;
    }
}

你能告诉我如何正确配置它吗?

最佳答案

最好的方法是从源代码编译 nginx 以支持 stream 指令:

./configure --prefix=/opt/nginx --sbin-path=/usr/sbin/nginx  --conf-path=/opt/nginx/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --with-http_ssl_module --with-threads --with-stream --with-http_slice_module
make
sudo make install

关于nginx - 将 Nginx 配置为 TCP 负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34615146/

相关文章:

nginx - 如何在nginx中为多个网站创建反向代理

c - TCP连接双方同时发送时丢包

azure - 为什么我应该使用 LoadBalancerProbe 而不是订阅 RoleEnvironment.StatusCheck 事件?

asp.net - 创建由负载均衡器 ping 的 ASP.NET 诊断页面

https - 在 Mediawiki 上使用带有 URI 的 HTTPS

amazon-web-services - 我是否必须在 AWS Application Load Balancer 后面的 nginx.conf 文件中配置 SSL 证书文件?

javascript - 创建 TCP 服务器时连接的标识符是什么?

Java Memcached 不跨实例复制条目

css - 如何配置 .htc 文件以在 nginx 上工作

delphi如何设置tcpserver接收字符串数据