热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

解决Linux系统中sendmail启动慢的问题

在大部分Linux发行版本中,sendmail这个古老的邮件系统包是默认安装的,装完系统后,重启时,不少兄弟遇到在启动过程中,到了启动sendmail服务的时候就停止了,没有耐性和经验的朋友这时候可能会以为系统出故障或者系统没有装好,其实既不是系统出故障,一般

在大部分Linux发行版本中,sendmail这个古老的邮件系统包是默认安装的,装完系统后,重启时,不少兄弟遇到在启动过程中,到了启动sendmail服务的时候就停止了,没有耐性和经验的朋友这时候可能会以为系统出故障或者系统没有装好,其实既不是系统出故障,一般也不是系统没有安装好,而是系统sendmail的时候在查询你设置的主机名的A记录或反向域名记录,由于全球9台DNS根系统都在美国,这个时候会去查询本机主机名对应的dns A记录,特别时你安装系统时设置的一些“奇怪”的主机名的时候,比如webserver等等之类的,这个时候sendmail会去做这个操作过程。

Apr 28 13:41:36 webserver sendmail[3494]: gethostby*.getanswer: asked for "webserver IN AAAA", got type "A"

Apr 28 13:42:36 webserversendmail[3499]: gethostby*.getanswer: asked for "webserver IN AAAA", got type "A"

Apr 28 13:43:37 webserver sendmail: sendmail startup succeeded

Apr 28 13:43:37 webserver sm-msp-queue[3509]: gethostby*.getanswer: asked for "webserver IN AAAA", got type "A"

运气好,我的意思是你的“RP”好,呵呵,查询比较快,你感觉不到异样,“RP”不好,少则一到两分钟,多则四到五分钟,而且要命的是不报任何错误信息,这个时间大大超过了我们能忍受的“8s”时间了,心里承受力差的兄弟就要受煎熬了。

知道了问题的症结,就可以对症下药了,比如我们可以修改系统配置文件/etc/hosts 和/etc/resolv.conf

让sendmial绕过查询远程主机,这里给出一种最简单的方法,给主机设置一个别名

修改/etc/hosts ,未修改之前

127.0.0.1 localhost.localdomain localhost

修改成

127.0.0.1 localhost.localdomain localhost webserver

再次重新启动sendmail看看

[root@webserver ~]# service sendmail restart

Shutting down sm-client: [ OK ]

Shutting down sendmail: [ OK ]

Starting sendmail: [ OK ]

Starting sm-client: [ OK ]

启动时间已经到秒级了。


推荐阅读
author-avatar
$Array$
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有