一、CentOS中sendmail慢的解决办法:
PHP中使用mail函数发邮件时会使用到Linux系统中的sendmail命令,默认情况下发现PHP调用mail函数耗时差不多一分钟,这样的发邮件肯定是不能接受的,通过多方搜索查找解决办法,最终把问题解决了。
1. 先通过“cat /etc/sysconfig/network”查看HOSTNAME=”XXX”里你的主机名(这里经XXX代替)。
2. 编译/etc/hosts文件,在127.0.0.1之后加上你的主机名(下行的蓝色部分,中间有空格分开),其它地方不要改:
127.0.0.1 localhost.localdomain localhost XXX.localdomain XXX
3. 然后重启系统然后再试吧。
PS. 通过putty连接到Linux使用sendmail发邮件时总发现按Ctrl+D不生效,可以改使用mail命令,在输完邮件内容后再多输一行只有一个点号“.”来结束正文的输入。
二、WordPress评论与回复慢的原因及解决方法
博客回复读者的评论发现都超过30秒,一直懒得理。今天连续回复几条评论,发现实在无法忍受了,就开始着手解决这一问题。
1、是不是评论的程序代码有问题?可以排除,因为一回复读者评论,后台马上显示回复内容,只是浏览器一直显示正在提交评论…
2、开始查看vps的进程,发现有一个以用户apache运行的sendmail进程,这个应该可以确认是sendmail的问题。
3、查看sendmail日志。日志如下:
My unqualified host name (centos) unknown; sleeping for retry
unable to qualify my own domain name (centos) — using short name
大概的意思是:centos不是完整的主机名,无法使用,等待重试。
原因:因为centos不是完整的主机名,所以sendmail无法解析出IP,sendmail就一直尝试解析,导致http连接无法结束,一直到sendmail进程超时。
解决方法:
1、设置完整的主机名(重启后会丢失):
hostname www.blook.org.cn
2、永久设置主机名
修改/etc/sysconfig/network文件,把hostname centos改为hostname www.blook.org.cn