Linux独立服务管理

独立服务启动管理

使用/etc/init.d/目录中的启动脚本来启动独立的服务

所有独立服务的启动脚本都存放在 /etc/init.d/ 目录中,调用这些脚本就可以启动独立的服务(推荐启动方式)。

命令格式如下:

1
/etc/init.d 独立服务名 start | stop |status | restart |...

参数:

  • start:启动服务;
  • stop:停止服务;
  • status:查看服务状态;
  • restart:重启动服务;

使用service命令来启动独立的服务

CentOS 可以依赖 service 命令来启动独立的服务。service 命令实际上只是一个脚本,这个脚本仍然需要调用 /etc/init.d/ 中的启动脚本来启动独立的服务。

注意:service 命令是红帽系列 Linux 的专有命令,其他的 Linux 发行版本不一定拥有这条命令。

命令格式:

1
2
3
4
service 独立服务名 start | stop | restart |...

# 查看所有独立服务的启动状态
service --status -all

独立服务的自启动管理

chkconfig 服务自启动管理命令

1
chkconfig [--level 运行级别] [独立服务名] [on|off]

如果在 0~6 这 7 个运行级别中服务都显示”关闭”,则该服务不自启动。如果在某个运行级别中显示”启用”,则代表在进入这个运行级别时,该服务开机自启动。

修改 /etc/rc.d/rc.local 文件,设置服务自启动

在文件 /etc/rc.d/rc.local 中加入服务的启动命令。这个文件是在系统启动时,在输入用户名和密码之前最后读取的文件(注意:/etc/rc.d/rc.local/etc/rc.local 文件是软链接,修改哪个文件都可以)。这个文件中有什么命令,都会在系统启动时调用。

推荐使用这种方法管理服务的自启动,有两点好处:

  • 第一,如果都采用这种方法管理服务的自启动,当我们碰到一台陌生的服务器时,只要查看这个文件就知道这台服务器到底自启动了哪些服务,便于集中管理。
  • 第二,chkconfig 命令只能识别 RPM 包默认安装的服务,而不能识别源码包安装的服务。 源码包安装的服务的自启动也是通过 /etc/rc.d/rc.local 文件实现的,所以不会出现同一台服务器自启动了两种安装方法的同一个服务。

注意 修改 /etc/rc.d/rc.local 配置文件的自启动方法和 chkconfig 命令的自启动方法是两种不同的自启动方法。所以,就算通过修改 /etc/rc.d/rc.local 配置文件的方法让某个独立的服务自启动了,执行 chkconfig --list 命令并不到有什么变化。

使用 ntsysv 命令管理自启动

ntsysv 命令调用窗口模式来管理服务的自启动

1
2
3
4
5
6
7
8
# 命令格式
ntsysv [--level 运行级别]

# 只设定2、3、5级别的服务自启动
ntsysv --level 235

# 按默认的运行级别设置服务自启动
ntsysv

执行命令后,会和 setup 命令类似,出现命令界面

2-1Q02415591C13.jpg

  • 上下键:在不同服务之间移动;
  • 空格键:选定或取消服务的自启动。也就是在服务之前是否输入”*”;
  • Tab键:在不同项目之间切换;
  • F1键:显示服务的说明;

总结:只要是 RPM 包默认安装的服务都能被 ntsysv 命令管理,包括 独立服务的自启动基于 xinetd 服务的自启动

注意: ntsysv 命令是红帽系列 Linux 的专有命令,其他的 Linux 发行版本不一定拥有这条命令,而且条命令也不能管理源码包安装的服务。

参考:

Linux独立服务管理