当前位置:首页>Linux>Linux基础|systemd 使用说明:一篇文章带你入门服务管理

Linux基础|systemd 使用说明:一篇文章带你入门服务管理

  • 2026-10-21 13:28:37
Linux基础|systemd 使用说明:一篇文章带你入门服务管理

在较新的 Linux 发行版中,你会发现一个事实:service 命令越来越少见,取而代之的是 systemctl。这背后的核心,就是 systemd。如果你还停留在“能启动服务但不理解 systemd”,那运维和排错时会非常吃力。本文将用最实用的方式,带你快速掌握 systemd 的使用方法。

一、什么是 systemd?

systemd 是 Linux 的系统和服务管理器,负责:
  • 系统启动流程
  • 服务的启动、停止、重启
  • 服务状态管理
  • 日志统一管理
简单理解:systemd 是系统的总管,而 service 只是它的一个外壳。

二、服务(Unit)的基本概念

在 systemd 中,一切被称为Unit,常见类型包括:
  1. service:服务
  2. target:运行级别
  3. timer:定时任务
我们日常接触最多的是 *.service。

三、最常用的 systemctl 命令

以 nginx 为例:
1️⃣ 启动服务
systemctl start nginx
2️⃣ 停止服务
systemctl stop nginx
3️⃣ 重启服务
systemctl restart nginx
4️⃣ 查看状态(排错必用)
systemctl status nginx
状态输出中包含:

是否运行

主进程 PID

最近错误日志

四、开机自启动管理

设置开机启动
systemctl enable nginx
取消开机启动
systemctl disable nginx
注意:enable 不等于 start,两者作用不同。

五、查看系统中的服务

查看所有服务状态
systemctl list-units --type=service
查看所有已安装服务
systemctl list-unit-files --type=service

六、日志管理:journalctl

systemd 将日志统一交给 journald 管理。
查看某个服务日志
journalctl -u nginx
实时查看日志
journalctl -u nginx -f
查看最近一次启动日志
journalctl -u nginx -b

七、自定义一个服务(这里以我自己配置的trojan服务为例)

[Unit]Description=Trojan ServiceAfter=network.target[Service]Type=simpleUser=rootWorkingDirectory=/root/trojanExecStart=/root/trojan/trojan-go -config /root/trojan/config.jsonRestart=on-failureRestartSec=5[Install]WantedBy=multi-user.target
保存为:/etc/systemd/system/trojan.service
加载并启动:
systemctl daemon-reloadsystemctl start trojan

八、systemd 使用建议

修改 unit文件后一定执行 daemon-reload
排错优先看 systemctl status
不要手动 kill 进程,交给 systemd 管理

九、写在最后

systemd 并不复杂,难的是“不理解它的管理方式”。
一旦你习惯用 systemctl 管理服务,Linux 运维会变得清晰而可控。
学会 systemd,是现代 Linux 的必修课。
关注我,更多linux技巧跟你一起分享!

最新文章

随机文章