使用nginx 4层转发 stream模块实现dnsmasq负载均衡
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用nginx 4层转发 stream模块实现dnsmasq负载均衡相关的知识,希望对你有一定的参考价值。
一.配置说明需要搭建个dnsmasq的负载均衡,由于haproxy没法udp负载均衡,所以使用nginx的stream实现udp负载均衡
二.源码安装配置nginx
下载nginx-1.16.0.tar.gz
tar zxf nginx-1.16.0.tar.gz
cd nginx-1.16.0/src/auto/cc
vi gcc 关闭gcc编译,目的减少nginx大小 #debug下面
安装依赖
yum install -y gcc
yum install -y pcre-devel
yum install -y openssl-devel
检测编译环境
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio --with-stream
make
make install
创建用户
useradd -M -d /usr/local/nginx/ -s /sbin/nologin -u 800 nginx
修改配置文件
cd conf
cp -p nginx.conf nginx.conf.bak
vi nginx.conf
user nginx nginx;
worker_processes 8;
worker_cpu_affinity auto;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events
worker_connections 1024;
stream
upstream dns
server 190.168.3.7:53;
server 190.168.3.77:53;
server
listen 53 udp;
proxy_responses 1;
proxy_timeout 20s;
proxy_pass dns;
检测启动
cd /usr/local/nginx/sbin
./nginx -t
./nginx
nginx -V
netstat -anuple | grep 53
监听udp53
测试dnsmasq负载均衡成功
以上是关于使用nginx 4层转发 stream模块实现dnsmasq负载均衡的主要内容,如果未能解决你的问题,请参考以下文章