AI智能
改变未来

『学了就忘』Linux服务管理 — 76、RPM包安装的服务管理

[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、验证

配置完服务自启动之后,重启一下计算机,看一下所配置的自启动服务是否启动,就是这么简单。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 『学了就忘』Linux服务管理 — 76、RPM包安装的服务管理