安装djbdns优化qmail邮件系统发送邮件速度
2012-05-29 18:20
330 查看
Qmail邮件系统在给具有多条MX的大型站点发送邮件的时候会报下面的错误:delivery 55371: deferral: CNAME_lookup_failed_temporarily._(#4.4.3)/,在qmail的官方网站上面了解到通过安装djbdns可以加速DNS解析速度,提高qmail邮件的发送速度和效率,下面是安装djbdns详细过程。
1.安装djbdns,在http://cr.yp.to/djbdns/djbdns-1.05.tar.gz可以下载该软件包。
[root@mail qmail]#tar -zxvf djbdns-1.05.tar.gz
[root@mail qmail]#cd djbdns-1.05
在Centos上面make之前,先在djbdns-1.05目录执行下面的命令:
[root@mail djbdns-1.05]# echo gcc -O2 -include /usr/include/errno.h > conf-cc(否则会报错)
[root@mail djbdns-1.05]# make
[root@mail djbdns-1.05]# make setup check
安装完成后,可以在/usr/local/bin的目录下看到如dnscache,tinydns等程序。
2.建立djbdns的配置文件。
[root@mail djbdns-1.05]# makedir -p /etc/dnscache
[root@mail djbdns-1.05]# dnscache-conf nobody nobody /etc/dnscache 127.0.0.1
[root@mail djbdns-1.05]# ln -s /etc/dnscache /service
[root@mail djbdns-1.05]# svstat /service/dnscache (启动服务)
3.查看djbdns服务,如果出现127.0.0.1:53端口在说明配置成功。
[root@mail ~]# netstat -antl |grep LISTEN |grep "53"
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
4.修改DNS配置文件,在/etc/resolv.conf下面添加nameserver 127.0.0.1,推荐放在其它nameserver前面,这样DNS解析的时候会优先查找DNS缓存。
![](http://img1.51cto.com/attachment/201205/094543975.jpg)
5.用dig 命令测试www.google.com.cn,第一次解析是通过互联网上面的DNS服务器进行解析www.google.com.cn,整个解析过程用了181毫秒。
![](http://img1.51cto.com/attachment/201205/201756954.jpg)
6.当用dig命令在此解析www.google.com.cn域名时,服务器会直接调用本机的DNS缓存记录,DNS解析效率大大提升,几乎在瞬间就可以完成。
![](http://img1.51cto.com/attachment/201205/201903527.jpg)
7.通过nslookup命令可以看到,当第二次解析www.google.com.cn域名的时候,是通过127.0.0.1,即本地DNS缓存返回的主机记录。
![](http://img1.51cto.com/attachment/201205/204305213.jpg)
8.默认djbdns使用1MB的内存作为它的缓存空间,通过下面的命令可以调整缓存空间为100MB,然后重启dnscache即可。
echo 100000000 > /service/dnscache/env/CACHESIZE
echo 104857600 > /service/dnscache/env/DATALIMIT
svc -t /service/dnscache #重启dnscache服务
9.查看dnscache服务运行状态。
[root@mail ~]# svstat /service/dnscache/
/service/dnscache/: up (pid 19693) 7945 seconds
10.通过tail -f /etc/dnscache/log/main/current查看DNS缓存日志。
![](http://img1.51cto.com/attachment/201205/205922186.jpg)
11.刷新Dnscache缓存。
有时候互联网上的DNS记录已经发生改变了,而本地DNS缓存还是旧的,可用如下命令来刷新Dnscache。
[root@mail ~]# /usr/bin/svc -t /service/dnscache
通过crontab定期自动刷新Dnscache,脚本内容如下:
[root@mail ~]# vim /root/sh/flush_dns.sh
#!/bin/bash
/usr/bin/svc -t /service/dnscache
[root@mail ~]# chmod o+x /root/sh/dns_flush.sh
添加crontab,每天凌晨自动执行。
[root@mail ~]# crontab -e
00 00 * * * /root/flush_dns.sh
本文出自 “朴实的追梦者” 博客,请务必保留此出处http://sfzhang88.blog.51cto.com/4995876/881909
1.安装djbdns,在http://cr.yp.to/djbdns/djbdns-1.05.tar.gz可以下载该软件包。
[root@mail qmail]#tar -zxvf djbdns-1.05.tar.gz
[root@mail qmail]#cd djbdns-1.05
在Centos上面make之前,先在djbdns-1.05目录执行下面的命令:
[root@mail djbdns-1.05]# echo gcc -O2 -include /usr/include/errno.h > conf-cc(否则会报错)
[root@mail djbdns-1.05]# make
[root@mail djbdns-1.05]# make setup check
安装完成后,可以在/usr/local/bin的目录下看到如dnscache,tinydns等程序。
2.建立djbdns的配置文件。
[root@mail djbdns-1.05]# makedir -p /etc/dnscache
[root@mail djbdns-1.05]# dnscache-conf nobody nobody /etc/dnscache 127.0.0.1
[root@mail djbdns-1.05]# ln -s /etc/dnscache /service
[root@mail djbdns-1.05]# svstat /service/dnscache (启动服务)
3.查看djbdns服务,如果出现127.0.0.1:53端口在说明配置成功。
[root@mail ~]# netstat -antl |grep LISTEN |grep "53"
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
4.修改DNS配置文件,在/etc/resolv.conf下面添加nameserver 127.0.0.1,推荐放在其它nameserver前面,这样DNS解析的时候会优先查找DNS缓存。
![](http://img1.51cto.com/attachment/201205/094543975.jpg)
5.用dig 命令测试www.google.com.cn,第一次解析是通过互联网上面的DNS服务器进行解析www.google.com.cn,整个解析过程用了181毫秒。
![](http://img1.51cto.com/attachment/201205/201756954.jpg)
6.当用dig命令在此解析www.google.com.cn域名时,服务器会直接调用本机的DNS缓存记录,DNS解析效率大大提升,几乎在瞬间就可以完成。
![](http://img1.51cto.com/attachment/201205/201903527.jpg)
7.通过nslookup命令可以看到,当第二次解析www.google.com.cn域名的时候,是通过127.0.0.1,即本地DNS缓存返回的主机记录。
![](http://img1.51cto.com/attachment/201205/204305213.jpg)
8.默认djbdns使用1MB的内存作为它的缓存空间,通过下面的命令可以调整缓存空间为100MB,然后重启dnscache即可。
echo 100000000 > /service/dnscache/env/CACHESIZE
echo 104857600 > /service/dnscache/env/DATALIMIT
svc -t /service/dnscache #重启dnscache服务
9.查看dnscache服务运行状态。
[root@mail ~]# svstat /service/dnscache/
/service/dnscache/: up (pid 19693) 7945 seconds
10.通过tail -f /etc/dnscache/log/main/current查看DNS缓存日志。
![](http://img1.51cto.com/attachment/201205/205922186.jpg)
11.刷新Dnscache缓存。
有时候互联网上的DNS记录已经发生改变了,而本地DNS缓存还是旧的,可用如下命令来刷新Dnscache。
[root@mail ~]# /usr/bin/svc -t /service/dnscache
通过crontab定期自动刷新Dnscache,脚本内容如下:
[root@mail ~]# vim /root/sh/flush_dns.sh
#!/bin/bash
/usr/bin/svc -t /service/dnscache
[root@mail ~]# chmod o+x /root/sh/dns_flush.sh
添加crontab,每天凌晨自动执行。
[root@mail ~]# crontab -e
00 00 * * * /root/flush_dns.sh
本文出自 “朴实的追梦者” 博客,请务必保留此出处http://sfzhang88.blog.51cto.com/4995876/881909
相关文章推荐
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- CentOS6.5_64位系统下安装配置postfix邮件系统 启用并配置SMTP在第三方上边使用发送邮件
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- CentOS6.5_64位系统下安装配置postfix邮件系统 启用并配置SMTP在第三方上边使用发送邮件
- php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- qmail邮件系统(二)安装
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件正文内容为当天数据,附件内容为当月数据)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)
- 提交订单系统自动发送邮件到收件人邮箱优化(邮件内容信息以月为单位)