资讯专栏INFORMATION COLUMN

dnsmasq+nginx缓存

chenatu / 543人阅读

环境:centos7,软件:dnsmasq,nginx 服务器ip址址:192.168.0.133

一.安装dnsmasq:

需要安装epel源:rpm -Uvh http://dl.fedoraproject.org/p... (主要是提供tinyproxy的rpm包)
yum update
yum install dnsmasq -y
3.修改配置文件:
1.vim /etc/dnsmasq.conf (dnsmasq的配置文件)

resolv-file=/etc/resolv.conf (域名解析的配置的文件,可以写多个)
address=/**.**.cn/192.168.0.133(指定需要dns缓存的域名,192.168.0.133为dnsmasq服务的ip)
address=/**.**.cn/192.168.0.133
address=/**.**.cn/192.168.0.133
listen-address=192.168.0.113(如果用此计算机作为一组主机的默认DNS,就需要使用固定 IP 地址)

4.修改/etc/resolv.conf文件,添加dns

nameserver 192.168.1.3(本地的dns)
nameserver 202.106.0.20
nameserver 202.106.196.115

5.启动服务
systemctl start dnsmasq
检查进程是否运行:
ps -ef |grep dnsmasq
6.检查一下端口是否正常:
netstat -anptu | grep 53 (是否对应着dnsmasq)

二.nginx安装

wget http://nginx.org/packages/cen...

rpm -ivh nginx-1.10.3-1.el7.ngx.x86_64.rpm

修改配置(/etc/nginx/conf.d/ttedu.conf):

ttedu.conf

proxy_temp_path /home/nginxtemp;

proxy_cache_path /home/nginxcache levels=1:2 keys_zone=ttedu:10g inactive=240m max_size=100g;

server {
    listen       80;
    access_log  /var/log/nginx/ttedu.log main;

    large_client_header_buffers 4 128k;
    client_max_body_size 300m;
    client_body_buffer_size 512k;
    
    proxy_connect_timeout 300;
    proxy_read_timeout 300;
    proxy_send_timeout 300;
    proxy_buffer_size 256k;
    proxy_buffers   4 512k;
    proxy_busy_buffers_size 512k;
    proxy_temp_file_write_size 512k;

    location / {
        resolver 202.106.0.20 8.8.8.8;
        resolver_timeout 30s;
        proxy_pass      http://$host$request_uri;
        proxy_cache ttedu;
        proxy_cache_valid 200 301 302 7d;
        proxy_cache_valid any 5m;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Server $host;
        add_header  ttedu-cache "$upstream_cache_status";
    }
}

配置说明:
/home/nginxcache 缓存目录
/var/log/nginx 日志目录
proxy_temp_path 临时缓存目录
resolver dns地址,根据实际情况修改
max_size cache硬盘大小
/*levels设置目录层次
keys_zone设置缓存名字和共享内存大小
inactive在指定时间内没人访问则被删除在这里是1天
max_size最大缓存空间*/
修改nginx配置(/etc/nginx/nginx.conf):
nginx.conf
修改配置:

worker_processes  8;

events {

    use epoll;

    worker_connections  10240;

}

log_format  main  "$remote_addr - $remote_user [$time_local] "$request" "

                      "$status $body_bytes_sent "$http_referer" "

                      ""$http_user_agent" "$http_x_forwarded_for""

                      "  "$upstream_cache_status"";

添加: " "$upstream_cache_status"";单引号后有空格。
注释access_log
添加配置:
server_tokens off;
重启nginx服务 systemctl restart ngin

三.配置防火墙:

由于centos7默认采用的防火墙是firewalld.service,我们采用iptables防火墙
关闭firewalld.service:
systemctl stop firewalld.service(关闭服务)
firewall-cmd --state (查看服务状态是否为not running)
安装iptables防火墙
yum install iptables-service
之后添加规则:vim /etc/sysconfig/iptables

iptables
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#ping 使用的端口
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
#放行的端口为tcp 22,tcp 80 ,tcp及udp的53
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
#自身配置
-A INPUT -j REJECT --reject-with icmp-host-prohibited
#自身配置
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMI

防火墙配置完毕后。启动iptables
systemctl restart iptables.service

四.系统优化配置

事项 配置
修改打开文件数
vim /etc/security/limits.conf

* soft noproc 65535
* hard noproc 65535
* soft nofile 65535
* hard nofile 65535

关闭selinux
setenforce 0
修改/etc/selinux/config文件中设置SELINUX=disabled

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39544.html

相关文章

  • Nginx之OCSP stapling配置

    摘要:摘要正确地配置可以提高性能。顾名思义,它是一个用于检查证书状态的协议,浏览器使用这个协议来检查证书是否被撤销。存在隐私和性能问题。检测能够对开启的网站的配置进行全面分析,可以检测的状态。根据文档,最好使用本地服务,可以防止欺骗。 摘要: 正确地配置OCSP stapling, 可以提高HTTPS性能。 showImg(https://segmentfault.com/img/bV45G...

    CastlePeaK 评论0 收藏0
  • 通过Dnsmasq部署本地DNS服务

    摘要:本机解析域名的优先级为缓存服务。安装我将本地服务安装在了上,因为该测试服务器的系统是,使用自带的包管理器下载并安装最简洁。设置路由器,将服务指向本地服务器 在开发、测试和正式环境中,我们总希望通过同一个域名找到对应环境中的服务实例,简化配置流程,例如在测试环境中,让api.changjinglu.net关联到IP为192.168.1.34的测试服务器,而在正式环境中,让api.chan...

    sf190404 评论0 收藏0
  • kube-dns的前世今生

    摘要:通过监视资源的变化,并根据的信息生成记录写入到中。是唯一保留的容器,依然提供健康检查。操作会获取最新的全量资源与本地状态进行比较来产生通知,可以避免网络原因导致的丢失通知的情况。最后一个参数用来设置处理事件的回调。 上一期我们以1.2版本为背景,介绍了K8S的服务发现和kube-dns插件的相关内容。有了上一期内容作为基础,这期了解最新版本的kube-dns就会容易很多。 本文主要对比...

    Lin_R 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<