Nginx实现TCP反向代理与负载均衡

四层负载均衡与七层负载均衡区别

四层负载均衡,在网络模型中的传输层中,主要是基于tcp协议报文实现负载均衡(比如LVS、haproxy就是四层负载均衡器),使用改写报文的源地址和目的地址。
TCP是依据保持长连接

七层负载均衡,在网络模型中应用层中,基于URL或者HTTP协议实现负载均衡,Web服务器。

环境准备

测试环境 CentOS7
Nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信。
stream模块默认不安装的,需要手动添加参数:–with-stream,官方下载地址:download,根据自己系统版本选择nginx1.9或以上版本
./configure --add-module=…/yaoweibin-nginx_tcp_proxy_module-121c026

安装软件
  1. 安装Nginx 作用:实现反向代理、负载负载库

    wget http://nginx.org/download/nginx-1.10.10.tar.gz

  2. 安装nginx_tcp_proxy_module 插件

    wget https://github.com/yaoweibin/nginx_tcp_proxy_module/tarball/master
    tar -zxvf master

nginx 支持TCP转发和负载均衡的支持

编译Nginx
  1. 解压nginx文件

    tar -zxvf nginx-1.10.10.tar.gz

  2. 进入到Nginx目录

    cd nginx-1.10.10

  3. 下载tcp.patch最新补丁

    patch -p1 < …/yaoweibin-nginx_tcp_proxy_module-121c026/tcp.patch

  4. 编译Nginx

    ./configure --add-module=…/yaoweibin-nginx_tcp_proxy_module-121c026

  5. make && make install

    如果报错
    In file included from …/nginx_tcp_proxy_module-master/ngx_tcp.h:32,
    from …/nginx_tcp_proxy_module-master/ngx_tcp.c:5:
    …/nginx_tcp_proxy_module-master/ngx_tcp_upstream.h:144: error: expected specifier-qualifier-list before ‘ngx_resolver_addr_t’
    make[1]: *** [objs/addon/nginx_tcp_proxy_module-master/ngx_tcp.o] Error 1
    make[1]: Leaving directory `/opt/apps_install/nginx-1.9.9’
    make: *** [build] Error 2

    修改第三方模块包里的头文件,ngx_tcp_upstream.h 144 行将ngx_resolver_addr_t 改为 ngx_addr_t
    Cd /usr/local/yaoweibin-nginx_tcp_proxy_module-121c026
    Vi

  6. 修改Nginx.conf配置文件

    worker_processes 1;
    events {
    worker_connections 1024;
    }
    tcp {
    ### 定义多个上游服务器
    upstream xiaoming{
    ### 定义TCP模块上游服务器
    server 192.168.5.165:80001;
    server 192.168.5.165:80002;
    }
    server {
    listen 9999;
    server_name 192.168.212.137;
    ### 反向代理upstream
    proxy_pass xiaoming;
    }
    }

  7. 启动Nginx服务器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值