[toc]
1、独立服务的启动管理
(1)使用
/etc/init.d/
目录中的启动脚本启动服务(推荐)
[root@localhost ~]# /etc/init.d/httpd start
或者
[root@localhost ~]# /etc/cr.d/init.d/httpd start
两个是软连的关系,用哪个目录都行。
(2)使用
service
命令来启动独立的服务
[root@localhost ~]# service 独立服务名 start|stop|restart…
说明:
-
service
命令启动服务,其实是
/etc/init.d/
目录中脚本启动服务的简化命令。
-
service
命令最终所搜的还是
/etc/init.d/
目录中的服务启动脚本。
2、独立服务的自启动管理
提示:设置服务的自启动,是我下次开机时候,该服务的自启动配置,而不是设置此时该服务是否运行。
方式一:
使用
chkconfig
服务自启动管理命令。
[root@localhost ~]# chkconfig [--level 运行级别] [独立服务名] [on|off]选项:--level:设定在哪个运行级别中开机自启动(on),或是关闭自启动(off)# 示例:[root@localhost ~]# chkconfig --level 2345 httpd on
练习:
# 1.先查看httpd服务的自启动状态[root@localhost ~]# chkconfig --list | grep httpdhttpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭# 2.设置httpd服务的自启动# httpd服务开启自启动默认的系统运行级别就是2345# 所以可以简写:chkconfig httpd on 也是可以的[root@localhost ~]# chkconfig --level 2345 httpd on# 3.查看修改后的httpd服务自启动状态[root@localhost ~]# chkconfig --list | grep httpdhttpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭# 4.关闭httpd服务的自启动[root@localhost ~]# chkconfig httpd off# 5.再次查看httpd服务的自启动状态[root@localhost ~]# chkconfig --list | grep httpdhttpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
方式二:(推荐)
修改
/etc/rc.d/rc.local
文件,设置服务自启动。
提示:
/etc/rc.local
和
/etc/rc.d/rc.local
是软链接关系。
(如有忘记,请看这篇文章的最后一点)
# 配置/etc/rc.d/rc.local配置文件[root@localhost ~]# vim /etc/rc.d/rc.local# 内容#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don\'t# want to do the full Sys V style init stuff.touch /var/lock/subsys/local/etc/rc.d/init.d/httpd start
注意:
最好不要写
service
启动方式,写
/etc/init.d/
路径的方式启动。因为
service
启动方式可能不能够百分之百被执行。
提示:
有一个问题,我编辑好
/etc/rc.local
配置文件,然后查询
httpd
服务的自启动状态,发现
httpd
服务的自启动状态没有改变,
如下图所示:
原因:
第二种方式是修改
/etc/rc.local
配置文件的方式实现服务自启动,第一种方式是使用
chkconfig
命令的方式实现服务自启动,你不能用方式二修改,用方式一的方式查询,因为两种方式不相干。
所以修改
/etc/rc.local
配置文件的方式配置服务自启动,只能通过查看配置文件来判断是否配置服务的自启动。相反同理。
还有一点要注意的是,一个服务用一种方式配置就可以了。
总结:
推荐用第二种方式配置服务的自启动管理。
RPM包安装的服务启动脚本都放在
/etc/cr.d/init.d/
目录中了,
service
命令、
chkconfig
命令、
ntsysv
命令都是到
/etc/cr.d/init.d/
目录中找服务的启动脚本,来启动服务。
而源码包安装的服务,是手动安装到指定位置的服务,你手动指定到哪里,服务就安装到哪个位置,所以以命令的方式是找不到源码包安装的服务的。
最后结论:
以命令方式不能直接管理源码包安装的服务,只有配置文件的方式既能能直接管理源码包安装的服务,又能管理rpm包安装的服务,所以推荐方式二。
方式三:
使用
ntsysv
命令管理自启动:
[root@localhost ~]# ntsysv [--level 运行级别]选项:--level运行级别:可以指定设定自启动的运行级别
ntsysv
命令和
chkconfig
命令说明:
ntsysv
命令和
chkconfig
命令是通用的,用一个命令修改完,另一个命令中是可以查看到的。
你可以理解成
chkconfig
命令是手动命令行配置服务的开机自启动,
而
ntsysv
命令是通过图形化界面配置服务的开机自启动,
只不过
ntsysv
命令默认赋予服务的自启动(系统运行级别)范围比较小。
如:
chkconfig
命令开启
httpd
服务的自启动默认系统运行级别开启为2345,而
ntsysv
命令只是开启3级别。
如下图所示:
示例:
# 1.执行ntsysv命令[root@localhost ~]# ntsysv# 2.或者加上系统运行级别[root@localhost ~]# ntsysv --level 2345
出现
ntsysv
命令的图形化界面,如下图所示:
操作方式:
- 上下键:在不同服务之间移动。
- 空格键:选定或取消服务的自启动。就是在服务之前是否打入
*
。
- tab键:在不同项目间切换。
- F1键:显示服务的说明。
在终端窗口执行
ntsysv
命令,所有通过RPM包安装的服务,在这里都能够找到,包括基于
xinetd
的服务。
3、验证
配置完服务自启动之后,重启一下计算机,看一下所配置的自启动服务是否启动,就是这么简单。