码迷,mamicode.com
首页 > 其他好文 > 详细

使用nginx 4层转发 stream模块实现dnsmasq负载均衡

时间:2019-06-24 10:49:40      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:timeout   efi   bug   logs   nec   搭建   aio   log   http   

一.配置说明
需要搭建个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负载均衡

标签:timeout   efi   bug   logs   nec   搭建   aio   log   http   

原文地址:https://blog.51cto.com/anfishr/2412572

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!