使用nginx做 tcp/udp 负载均衡

Posted dakunqq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用nginx做 tcp/udp 负载均衡相关的知识,希望对你有一定的参考价值。

  目标:对非http流量进行负载均衡
  
  可选技术:nginx + docker-compose ,,,,
  
  过程:
  
  负载tcp/udp流量需要重新构建一下nginx,官网原文是 built with the --with-stream ,于是找了几个带参数的Dockerfile,大都是半年一年之前的文章了,打镜像不是重点,而且调试起来费时费力。还是想最好直接找一个官方构建好的版本,负载均衡测试后再自己构建镜像也不迟。
  
  在docker hub找了一下,nginx默认镜像不带--with-stream参数,也没有找到类似扩展的tag,继续搜寻 docker nginx --with-stream
  
  最终找到openresty,默认dockerfile就带了这个参数,最终的docker-compose.yml如下
  
  version: "www.sanguoyoux.cn"
  
  services:
  
  openresty:
  
  image: openresty/openresty
  
  volumes:
  
  - ./conf/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf
  
  - ./var/run/openresty/: www.rhyl158.com /var/run/openresty/
  
  ports:
  
  - "0.0.0.0:www.jintianxuesha.com 8888:8888"
  
  在nginx.conf追加,类似如下格式的端口负载内容
  
  stream
  
  server
  
  listen 8888 ;
  
  proxy_timeout 20s;
  
  proxy_pass 192.168.1.101:8888;
  
  
  
  server www.xinxingyuLep.cn
  
  listen 8899 udp reuseport;
  
  proxy_timeout 20s;
  
  proxy_pass 192.168.1.101:8899;

  在包含docker-compose.yml文件的目录下执行 docker-compose up -d
  
  查看宿主机端口是否已经启动,测试连接
  
  -- end
  
  国庆放假在家没法使用k8s集群测试,没法使用chart各种一键安装了。本地虚拟机全部开起来又会使本子风扇暴走,温度和噪音,不太友好。
  
  然后研究起docker-compose,这个之前一直忽略的小工具,用起来居然挺香。
  
  如遇到问题可尝试留言,一起学习

以上是关于使用nginx做 tcp/udp 负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)

Nginx stream(TCP/UDP)负载均衡

Nginx TCP代理和负载均衡

ULB负载均衡

Nginx作为负载均衡服务介绍

Linux里面lvs和haproxy区别是啥?