使用 systemd 进行服务管理

学习使用 systemd 进行服务管理。本模块涵盖状态与验证、启动、停止和重启、启用服务随系统启动、在不中断服务的情况下重新加载配置、使用 journalctl 查看服务日志。您将通过实践操作和真实世界的挑战掌握这些基本的 Linux 技能。

DevOps 工程师LinuxDevOps

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

这门入门课程帮助你建立使用 systemd 操作和排查 Linux 服务的实用流程。通过 5 个引导式实验,你将查看 Unit 状态、控制 Apache 服务、管理开机启用、比较 Reload 与 Restart,并在系统 Journal 中调查特定 Unit 的日志。

最终救援挑战会把这些命令组合成诊断与恢复流程:确认 Apache Unit 失败,从 Journal 中定位配置语法错误,只删除无效指令,并验证重启成功。

你将学到什么

  • 使用 systemctl status 查看活动、非活动、失败和不存在的服务状态
  • 过滤状态输出,并将服务状态与可观察的端口及 HTTP 行为联系起来
  • 停止、启动和重启 Apache,并在每次操作后验证结果
  • 使用 systemctl is-enabled、enable 和 disable 区分当前运行状态与开机启用
  • Reload Apache 配置,并验证其主 PID 保持不变
  • 通过观察进程连续与替换,对比 Reload 和 Restart
  • 使用 journalctl -u 和 -f 过滤并实时跟踪服务日志
  • 根据状态与 Journal 证据诊断和修复准备好的 Apache 语法故障

本课程适合谁

本课程适合希望严谨掌握服务操作和一线故障诊断基础的 Linux 初学者、技术支持人员,以及有志于从事系统或 DevOps 管理的学习者。

前置要求: 具备基本的终端导航、进程与端口概念、文本文件编辑、grep 和 sudo 使用能力;无需 systemd 管理经验。

学习环境: LabEx 提供的 Ubuntu systemd 环境,包含准备好的 SSH 与 Apache Unit、可编辑的 Apache 配置、Journal 日志和受控服务故障场景。

常见问题

课程如何组织?

前 5 个实验提供引导式练习。第 6 项是 Apache 救援挑战,你需要在较少提示下综合使用状态、Journal 证据、配置编辑和重启验证。

启用服务会立即启动它吗?

不一定。enable 配置服务在系统启动时运行,而 start 改变当前运行状态。课程会把开机启用与启动、停止操作分开检查和修改。

Reload 和 Restart 在实践中有什么区别?

Apache Reload 实验会应用一条配置注释,同时保持主 PID 不变。Restart 会替换运行中的进程,可能造成短暂中断;实验通过 PID 对比直观展示区别。

最终挑战中具体哪里损坏了?

实验在 /etc/apache2/apache2.conf 末尾预置了无效行 RubbishDirective On,导致 Apache 失败。你要确认故障,在 journalctl 中找到语法错误,只删除该行并验证 Unit 恢复为 active。

教师

labby
Labby
Labby is the LabEx teacher.