网上找了一下好像没有合适的 DNSmasq WEB 界面,虽然 DNSmasq 配置已经足够简单了,但还是觉得 WEB 管理更加方便。
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。
使用DNSmasq可以很方便的搭建递归DNS(公共DNS),诸如类似的119.29.29.29
如果是Apache已经自带了.htaccess
规则,无需额外设置。如果是Nginx请再server段内添加:
location ^~ /application {
deny all;
}
location ^~ /system {
deny all;
}
location ^~ /(application|system) {
deny all;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
添加完成后别忘记重载一次nginx
application/helpers/check_helper.php
设置用户名、密码,里面有注释说明。http://domain.
com
/
?登录测试添加完成后别忘记重载一次nginx
编写Shell脚本 PHPDNS通过shell脚本检测DNSmasq文件变化,使用vi reload.sh命令新建Shell脚本,并写入以下内容,路径请自行修改。
CentOS 7
#!/bin/bash
find /data/wwwroot/xxx.com/application/conf/ -name '*.conf' -mmin -1 -exec /usr/bin/systemctl restart dnsmasq.service {} \;
CentOS 6
#!/bin/bash
find /data/wwwroot/xxx.com/application/conf/ -name '*.conf' -mmin -1 -exec /sbin/service dnsmasq restart {} \;
/data/wwwroot/xxx.com/application/conf/是DNSmasq配置文件目录,改为自己的目录。 /usr/bin/systemctl是CentOS 7 systemctl的目录 /sbin/service是CentOS 6的service目录 别忘记赋予脚本执行权限:chmod +x reload.sh 设置crontab定时任务 #安装crontab yum install crontabs #新建定时任务 crontab -e #写入下面的内容,注意路径 */1 * * * * /root/shell/reload.sh #重载crontab service crond reload /root/shell/reload.sh 是上面shell脚本的绝对路径,请注意修改。