介绍
欢迎参加关于管理系统服务的挑战。服务(也称为守护进程)是在后台运行以提供核心功能的程序。在本挑战中,你将学习使用 systemd 服务管理器启动、停止和启用服务的核心技能。这些是任何 Linux 系统管理员必备的基本功。
启动与停止服务
你的第一个任务是管理 Apache HTTP 服务器服务,即 httpd。你将练习启动服务、检查其状态,然后将其停止。
任务
- 启动
httpd服务。 - 检查
httpd服务的状态,确认其正在运行。 - 停止
httpd服务。
要求
- 所有修改系统状态的命令必须使用
sudo执行。 - 使用
systemctl命令执行所有服务管理操作。 - 在本步骤结束时,
httpd服务应处于停止状态。
示例
启动 httpd 服务后,运行 sudo systemctl status httpd 应显示 active (running) 状态。
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2024-05-20 10:00:00 UTC; 5s ago
Main PID: 1234 (httpd)
Tasks: 4 (limit: 11079)
Memory: 9.8M
CPU: 55ms
CGroup: /system.slice/httpd.service
├─1234 /usr/sbin/httpd -DFOREGROUND
├─1235 /usr/sbin/httpd -DFOREGROUND
└─1236 /usr/sbin/httpd -DFOREGROUND
停止服务后,状态将变为 inactive (dead)。
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
配置服务开机自启
仅仅启动服务并不能保证系统重启后它仍会运行。为了确保服务在系统启动时自动运行,你必须「启用」(enable)它。在本步骤中,你将启用 httpd 服务。
任务
- 配置
httpd服务在系统开机时自动启动。 - 启动
httpd服务,使其在当前会话中处于活动状态。 - 验证该服务是否已启用且正在运行。
要求
- 所有修改系统状态的命令必须使用
sudo执行。 - 使用
systemctl命令启用服务。 - 在本步骤结束时,
httpd服务应同时处于已启用(enabled)和正在运行(running)的状态。
示例
启用并启动服务后,sudo systemctl status httpd 的输出将在 Loaded 行显示 enabled,并在状态行显示 active (running)。
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2024-05-20 10:05:00 UTC; 10s ago
Main PID: 5678 (httpd)
Tasks: 4 (limit: 11079)
Memory: 9.9M
CPU: 50ms
CGroup: /system.slice/httpd.service
├─5678 /usr/sbin/httpd -DFOREGROUND
├─5679 /usr/sbin/httpd -DFOREGROUND
└─5680 /usr/sbin/httpd -DFOREGROUND
注意 Loaded 行中的 enabled 单词,这确认了服务已配置为开机自启。
总结
在本挑战中,你学习了在 Red Hat Enterprise Linux 系统上管理服务的核心 systemd 命令。你练习了使用 sudo systemctl start 激活服务,使用 sudo systemctl stop 停用服务,以及使用 sudo systemctl enable 确保服务在开机时自动启动。你还学习了如何通过 sudo systemctl status 检查服务的当前状态。掌握这些命令是成为一名合格系统管理员的关键一步。



