在CentOS 7.4系统中,chkconfig 是一个用于管理系统服务的脚本工具,它允许用户开启或关闭系统服务在启动时的自动运行状态,以下是如何使用 chkconfig 在CentOS 7.4中进行服务管理的详细指南。

服务管理基础
什么是 chkconfig?
chkconfig 是一个命令行工具,它允许用户为系统服务设置在启动时的运行级别,在CentOS 7.4中,chkconfig 通常用于设置服务的开机自启或关闭。
运行级别
在Linux系统中,有7个运行级别,每个级别对应不同的系统状态:
- 运行级别0:系统停机状态
- 运行级别1:单用户模式
- 运行级别2:多用户模式,没有NFS服务
- 运行级别3:完全的多用户模式,有NFS服务
- 运行级别4:未使用
- 运行级别5:图形界面模式
- 运行级别6:系统重启状态
使用 chkconfig
查看服务状态
要查看服务当前在各个运行级别的设置,可以使用以下命令:
chkconfig --list
这将列出所有服务及其在各个运行级别的设置。
启用或禁用服务
要启用服务在特定运行级别自动启动,可以使用以下命令:

sudo chkconfig 服务名 on
启用Apache服务在运行级别3和5中自动启动:
sudo chkconfig httpd on
要禁用服务在特定运行级别自动启动,可以使用以下命令:
sudo chkconfig 服务名 off
禁用Apache服务在运行级别3和5中自动启动:
sudo chkconfig httpd off
修改服务启动级别
如果需要修改服务在特定运行级别的启动状态,可以使用以下命令:
sudo chkconfig 服务名 --level 运行级别 设置值
将Apache服务的启动级别设置为3:

sudo chkconfig httpd --level 3 on
表格示例
| 服务名称 | 默认运行级别 | 设置为运行级别3 | 设置为运行级别5 |
|---|---|---|---|
| Apache | on | on | |
| MySQL | off | off | |
| SSH | on | on |
注意事项
- 使用
chkconfig修改服务设置后,需要重启相应的服务以使更改生效。 - CentOS 7.4开始,
chkconfig命令可能不适用于某些服务,因为它们可能已经使用systemctl进行管理。
FAQs
Q1:为什么我的服务在chkconfig中设置后没有自动启动?A1: 这可能是因为服务没有正确安装或配置,确保服务已经安装,并且配置文件位于正确的位置,如果服务已经安装,检查服务的启动脚本是否存在于/etc/init.d/目录中,并且权限设置正确。
Q2:如何查看服务的具体配置文件路径?A2: 使用以下命令可以查找服务的配置文件路径:
sudo find / -name "服务名*"
这将搜索系统中所有包含服务名相关内容的文件和目录,服务的配置文件位于/etc/目录下。

