一、什么是服务管理

在 Linux 中,服务管理是系统管理中的关键组成部分。它主要涉及对各种服务、守护进程和后台任务的启动、停止、重启、查看状态以及开机自启控制。

服务管理的目标通常包括:

  • 让需要的服务在系统启动时自动运行
  • 在故障时快速停止、重启或检查服务
  • 保持系统服务的稳定性与可用性

二、使用 systemctl 管理服务

在现代 Linux 发行版,尤其是 CentOS 7 及以后,最常用的服务管理命令就是 systemctl

2.1 开机自启动管理

设置服务开机自启动:

$ systemctl enable sshd

设置服务开机不自启动:

$ systemctl disable firewalld.service

这类操作常用于服务器基础服务管理,例如 SSH、Web 服务、数据库、监控代理等。

2.2 管理正在运行的服务

查看 sshd 远程连接服务状态:

$ systemctl status sshd

关闭正在运行的服务:

$ systemctl stop firewalld.service

启动服务:

$ systemctl start sshd

如果需要,也可以使用重启命令:

$ systemctl restart sshd

2.3 systemctl 常用命令速查表

操作场景 命令
开机自启 systemctl enable sshd
开机不自启 systemctl disable firewalld
启动服务 systemctl start sshd
停止服务 systemctl stop sshd
重启服务 systemctl restart sshd
查看服务状态 systemctl status 服务名
显示服务运行情况 systemctl list-units
显示服务开机自启动情况 systemctl list-unit-files

三、特殊情况:无法直接用 systemctl 管理时怎么办

有些脚本或特殊服务并不是标准的 systemd 单元,这时可能无法直接通过 systemctl 实现管理。原始笔记中给出的兼容方法是使用 /etc/rc.local

3.1 给 rc.local 增加执行权限

$ chmod +x /etc/rc.local

3.2 把启动命令写入 rc.local

把服务启动命令写入 /etc/rc.local,系统启动时就会按该文件中的内容执行。

这种方式通常适用于:

  • 临时兼容旧式启动脚本
  • 某些没有标准服务文件的程序
  • 需要快速验证的启动命令

不过从长期维护角度看,仍然更推荐使用标准的 systemd service 文件。

四、服务管理的实用建议

在日常运维中,管理服务时可以优先遵循下面的顺序:

  • 先看状态:systemctl status
  • 再决定启停或重启:startstoprestart
  • 对需要长期驻留的服务,记得确认开机自启:enabledisable
  • 对不支持 systemctl 的场景,再考虑 rc.local 或自定义 service 文件

五、小结

Linux 服务管理的核心并不复杂,本质上就是围绕“开机是否启动”和“当前是否运行”这两个问题展开。掌握 systemctl 的常见命令后,大多数基础服务管理场景都可以快速处理。