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 参数来激活这个模块。

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

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

  1. worker_processes auto;
  2. error_log /var/log/nginx/error.log info;
  3. stream {
  4.     upstream backend {
  5.         hash $remote_addr consistent;
  6.         server backend1.example.com:12345 weight=5;
  7.         server 127.0.0.1:12345 max_fails=3 fail_timeout=30s;
  8.         server unix:/tmp/backend3;
  9.     }
  10.     server {
  11.         listen 12345;
  12.         proxy_connect_timeout 1s;
  13.         proxy_timeout 3s;
  14.         proxy_pass backend;
  15.     }
  16.     server {
  17.         listen [::1]:12345;
  18.         proxy_pass unix:/tmp/stream.socket;
  19.     }
  20. }

关于nginx的安装可以点击《CentOS Linux安装nginx及负载均衡的配置

关于nginx的HA高可用配置可以点击《通过Keepalived实现NginxHA高可用

  • Nginx启用具有一般的TCP代理和负载均衡的stream模块已关闭评论
  • 139 views
  • A+
所属分类:未分类
avatar