Nginx启用具有一般的TCP代理和负载均衡的stream模块

一直以来,nginx并不支持TCP协议,一些基于TCP的业务必须依靠别的高可用负载软件来实现。但在nginx 1.9.0以后,意识到了此问题,终于得到了重大的重写。

2015-04-28 nginx更新说明 

nginx-1.9.0 mainline version has been released, with the stream module for generic TCP proxying and load balancing.

nginx-1.9.0主线版本已经发布,增加了具有一般的TCP代理和负载均衡的stream模块。

说明:ngx_stream_core_module 模块在nginx-1.9.0以后才会拥有,但在安装时并不会将此安装。需要在./configure时通过--with-stream 参数来激活这个模块。

下面来分享一个官方提供的stream简单的demo

worker_processes auto;
error_log /var/log/nginx/error.log info;
stream {
    upstream backend {
        hash $remote_addr consistent;
        server backend1.example.com:12345 weight=5;
        server 127.0.0.1:12345 max_fails=3 fail_timeout=30s;
        server unix:/tmp/backend3;
    }

    server {
        listen 12345;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass backend;
    }

    server {
        listen [::1]:12345;
        proxy_pass unix:/tmp/stream.socket;
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区