一. 配置说明
需要搭建个 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 负载均衡成功
来源: http://www.bubuko.com/infodetail-3102201.html