解决CentOS(RedHat)中sendmail和sm-client启动慢故障(转)
Starting sendmail:
Starting sm-client:
刚才发了修改主机名那篇文章后,我意外发现重新启动CentOS的时候系统会卡在sendmail和sm-client那里将近3分钟才继续,找了一下sendmail和sm-client的文档发现自己犯了一个错误。
我简单说一下原因,就是sendmail和sm-client都是MTA,只认网络主机名,如admin.slyar.com这样的,而我之前那篇文章直接把localhost.localdomain改成了Slyar,不符合网络主机名规范,所以启动速度慢。解决办法如下:
1.修改 /etc/sysconfig/network 下的主机名为网络主机名 Slyar.localdomain
# vim /etc/sysconfig/network
2.修改 /etc/hosts 下的主机名为网络主机名 Slyar.localdomain
# vim /etc/hosts
3.重新启动系统,以后就不会出现速度慢的情况了。
# reboot
关掉Starting sendmail:,用chkconfig sendmail off 关掉就可以了
http://blog.sina.com.cn/s/blog_6631bc8d01014pi2.html
一、前提
首先你要安装sendmail,如果你在安装Linux时选择全部安装的话,sendmail就已经在你的系统里了。如果不是的话就要安装了。
其次就是你的DNS一定要配置正确,完整,否则sendmail服务可能运行不正常。
如果你的系统是按照上面所述的安装好的话,那么sendmail服务的配置可以说是非常简单了,想知道有关DNS的详细配置请看本站的有关DNS的文章。
二、配置过程
1、修改/etc/mail/access 文件
象下面这样: domain.com RELAY //“domain.com”是你的域的名字
192.168.0 RELAY //允许 192.168.0.*的机器通过你的机器发信
然后输入下面这个命令进行转化:
makemap hash access.db < access
2、修改或创建文件:/etc/mail/relay-domains 内容如下:
192.168.0
这样就可以了。可能你这配置时要许多的问题。以上是我经过十几次的安装和配置linux总结出来的最简单的方法了,希望对你有帮助。注意了,你的DNS一定要是没有问题的,否则sendmail是不会好用的。
3、sendmail常用命令及测试和相关文件
A、相关文件
/etc/sendmail.cf
/etc/sendmil.cw
/etc/inetd.conf
在/etc/mail目录下有以下文件
access.db access
mailertable.db mailertable
aliases.db aliases
B、命令
1。重新启动sendmail服务
有这个目录下 /etc/rc.d/init.d 有文件sendmail,输入如下命令:
./sendmail restart
2。检查POP3端口是否打开
命令: netstat -a |grep pop
如有下面的信息,则POP3端口就打开了:
tcp 0 0 *: pop3 *.* LISTEN
3。确定sendmail服务是否启动
ps -axuw | grep sendmail
如启动了,则会有一些提示信息。
http://www.linuxidc.com/Linux/2006-12/1333.htm
开机启动的时候,发现进度条一直卡在sendmail那里,想办法把这个服务停止掉。直接停掉服务,可以在终端输入 service sendmail stop 。
取消开机启动的方法:
1、终端输入ntsysv,把sendmail服务取消掉。
2、chkconfig 命令也可以用来激活和停运服务。
执行命令:chkconfig --list sendmail
sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明sendmail在level在2.3.4.5时是自动开启的。而一般系统设置为中间level(3),因此每次机器重启,sendmail会自动重启。
chkconfig --level 2345 sendmail off
这样以来,sendmail在2、3、4、5级别也关闭了。这样,机器重启之后,sendmail也不会重启了。
http://blog.csdn.net/fedorayang/article/details/7633074
ntsysv工具为启动或停止服务提供了简单的界面。你可以使用ntsysv来启动或关闭由xinetd管理的服务。你还可以使用ntsysv来配置运行级别。按照默认设置,只有当前运行级别会被配置。要配置不同的运行级别,使用"--level"选项来指定一个或多个运行级别。例如,命令"ntsysv --level 345"配置运行级别3、4和5。ntsysv的工作界面如图4-7所示。
使用上下箭头来查看列表。使用空格键来选择或取消选择服务,或用"确定"和"取消"按钮。要在服务列表和"确定"、"取消"按钮中切换,可以使用"Tab"键。"*"表明某服务被设为启动。
http://www.linuxso.com/command/ntsysv.html
netstat可用查看目前已经启动的服务,
service可以用来立即启动某个服务。
chkconfig用来设置服务在开机的时候自动启动。
--查看nfs服务是否开机自动启动。可以看见6个开机级别都不会启动nfs服务。
[root@db ~]# chkconfig --list nfs
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
--设置开机自动启动nfs服务。
[root@db ~]# chkconfig nfs on
--再次查看,可以看见2、3、4、5级别开机会自动启动nfs服务。
[root@db ~]# chkconfig --list nfs
nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
--取消开机自动启动nfs服务。
[root@db ~]# chkconfig nfs off
--再次查看,6个级别开机又都不会启动nfs服务了。
[root@db ~]# chkconfig --list nfs
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
--设置3级别开机自动启动nfs服务。
[root@db ~]# chkconfig --level 3 nfs on
--再次查看,可以看见在级别开机会自动启动nfs服务。
[root@db ~]# chkconfig --list nfs
nfs 0:off 1:off 2:off 3:on 4:off 5:off 6:off
-------------------------------------------------------------------------------------------------------------------------
ntsysv:类图形界面管理模式来设置开机启动。(RedHat特有的,基本上chkconfig就很好用了。)
总结一下功能按钮:
上下键:可以在中间的方框当中,在各个服务之间移动;
空格键:可以用来选择你所需要的服务,[*]表示开起启动;
tab键:可以在方框、OK、Cancel之间移动;
[F1]键:可以显示该服务的说明。
例如:
[root@linux ~]# ntsysv
ntsysv 1.3.30.1 - (C) 2000-2001 Red Hat, Inc.
http://www.linuxidc.com/Linux/2011-12/48396.htm
解决CentOS(RedHat)中sendmail和sm-client启动慢故障(转)的更多相关文章
- 解决CentOS 7安装zabbix 3.0 无法启动zabbix-server的问题[segfault at 18 ip 00007f78842b4bd0 sp 00007fff1995a818 error 4 in libpthread-2.17.so[7f78842ab000+16000]]
解决CentOS 7安装zabbix 3.0 无法启动zabbix-server的问题 [root@localhost sbin]# service zabbix-server start Redir ...
- 解决CentOS 7中php-fpm进程数过多导致服务器内存资源消耗较大的问题
本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=653 什么是php-fpm: php-fpm即FastCGI进程管理器,用于控制php的内存和进程等. 操作环境: ...
- 解决Centos/Redhat,命令不存在
[root@26 ~]# lsb_release #不存在-bash: lsb_release: command not found [root@26 ~] ...
- Docker: 解决Centos 7中Permission Denied的问题
当用docker -v挂载volume后,会出现Permission Denied的问题,这有时是因为SeLinux导致的.解决方法如下: chcon -Rt svirt_sandbox_file_t ...
- Spring中使用集成MongoDB Client启动时报错:rc: 48
一定是所在的服务器也装了MongoDB导致端口冲突,解决方法:kill掉全部MongoDB的进程. ps aux | grep mongod PID 参考: http://blog.csdn.net/ ...
- CentOS 7 中配置通过 daemon 模式启动的 Tomcat 8 服务
距离上次折腾已经有很长一段时间了... 不说这个,刚好有空闲,把这两天折腾的 Tomcat 8 的服务配置整理出来收录一下. 1.JDK安装 1)检查服务器是否预装了 openJdk,如果有就删除,在 ...
- vsftp在REDHAT,CENTOS 5中登录慢的解决办法
vsftp在REDHAT,CENTOS 5中登录慢的解决办法 vsftp在REDHAT,CENTOS 5中不仅登录慢,至少花30秒左右,而且上传文件的速度也受影响, 经过摸索,根本原因在DNS解析上花 ...
- Redhat中网络启动错误解决办法( Failed to start LSB: Bring up/down networking RTNETLINK answers: File exists)
关于Redhat系列中网络启动失败的解决办法 报错: Failed to start LSB: Bring up/down networking. RTNETLINK answ ...
- Nginx安装与使用 及在redhat 中的简单安装方式
首先说下在redhat中的安装方法, 正常安装nginx 需要安装很多的依赖,最后再安装nginx,而且很容易出错. 在nginx官方上有这么一段描述: Pre-Built Packages for ...
随机推荐
- NFC应用(一)卡应用
门禁卡.停车卡.公交卡工作于NFC的卡模式,是目前日常生活中接触得最多的NFC应用场合.一张小小的卡片,轻触读卡器使可开门禁锁.进出停车场.支付车资,即快捷方便,又安全,易于管理. 以门禁系统为例,通 ...
- Qt的十六进制的控件
Qt没有这样的Widget,自己写一个吧.我曾经用MFC写过一个,代码不多,不到2000行,估计用Qt写不到1000行就够了. 可以参考这个qhexedit2 - QHexEdit is a Bina ...
- 关于MySql链接url参数的设置
jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/database?useUnicode=t ...
- bzoj1689 [Usaco2005 Open] Muddy roads 泥泞的路
Description Farmer John has a problem: the dirt road from his farm to town has suffered in the recen ...
- python开发初期及二次开发C api
1,python2 or python 区别, https://wiki.python.org/moin/Python2orPython3 python software foundation 2,p ...
- find命令笔记
find 命令: 文件查找:locate: 非实时,模糊匹配,查找是根据全系统文件数据库进行的:# updatedb, 手动生成文件数据库速度快 find: 实时 精确 支持众 ...
- C# Socket学习笔记一
小记:刚接触网络编程觉得网络是个神奇的东西,所以对它就很有兴趣,想了解下网络是如何进行进行数据传输的,那么开始第一天的学习吧!ReadyGo!!! 首先我们要了解一下几点内容: 1.网络中进程之间如何 ...
- [扩展KMP][HDU3613][Best Reward]
题意: 将一段字符串 分割成两个串 如果分割后的串为回文串,则该串的价值为所有字符的权值之和(字符的权值可能为负数),否则为0. 问如何分割,使得两个串权值之和最大 思路: 首先了解扩展kmp 扩展K ...
- 【贪心】【POJ3154】墓地雕塑(Graveyard, NEERC 2006, LA 3708)需要稍稍加工的(先贪心,再确保能这样贪(可行性&&如果可行必定最优&&非证明最优性)的题)(K)
例题4 墓地雕塑(Graveyard, NEERC 2006, LA 3708) 在一个周长为10000的圆上等距分布着n个雕塑.现在又有m个新雕塑加入(位置可以随意放),希望所有n+m个雕塑在圆周 ...
- jquery中push()的用法(数组添加元素)
push定义和用法 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度. 语法 arrayObject.push(newelement1,newelement2,....,newele ...