pond2539 发表于 2018-11-9 12:07:45

nginx 实现4层负责均衡

  环境:
  系统:CentOS 5.6 X86_64
  Nginx:nginx-1.2.4
  拓扑:
  — 10.0.1.201:1433
  LB(10.0.1.212:1433)——-|
  — 10.0.1.202:1433
  默认nginx不支持tcp的负载均衡,需要打补丁,(连接方式:从客户端收到一个连接,将从本地新建一个连接发起到后端服务器),具体配置如下:
  一、安装Nginx
  1.下载nginx
  # wget http://nginx.org/download/nginx-1.2.4.tar.gz
  2.下载tcp模块补丁
  # wget https://github.com/yaoweibin/nginx_tcp_proxy_module/tarball/master
  源码主页: https://github.com/yaoweibin/nginx_tcp_proxy_module
  3.安装nginx
  # tar xvf nginx-1.2.4.tar.gz
  # tar xvf yaoweibin-nginx_tcp_proxy_module-v0.4-45-ga40c99a.tar.gz
  # cd nginx-1.2.4
  # patch -p1 <../yaoweibin-nginx_tcp_proxy_module-a40c99a/tcp.patch
  #./configure--prefix=/usr/local/nginx --with-pcre=../pcre-8.30 --add-module=../yaoweibin-nginx_tcp_proxy_module-ae321fd/
  # make
  # make install
  二、修改配置文件
  修改nginx.conf配置文件
  # cd /usr/local/nginx/conf
  # vim nginx.conf
  worker_processes 1;
  events {
  worker_connections 1024;
  }
  tcp {
  upstream mssql {
  server 10.0.1.201:1433;
  server 10.0.1.202:1433;
  check interval=3000 rise=2 fall=5 timeout=1000;
  }
  server {
  listen 1433;
  server_name 10.0.1.212;
  proxy_pass mssql;
  }
  }
  三、启动nginx
  # cd /usr/local/nginx/sbin/
  # ./nginx
  查看1433端口:
  #lsof :1433
  四、测试
  # telnet 10.0.1.201 1433
  五、使用sql server client工具测试
http://img.blog.csdn.net/20130427114621117
  总结:nginx 是可以实现4层负责均衡的,只需安装个补丁包即可!在企业中很多情况下是4层和7层并存的,如果你的服务器压力并不高,其实你也没有必须要用lvs-nginx模型,那nginx+打补丁实现4去和7层的负责均衡还是很不错的选择!

页: [1]
查看完整版本: nginx 实现4层负责均衡