systemd服务管理:从单元文件到日志
讲清 unit 文件的关键字段、启动失败的三步排查,以及日志持久化配置。下面按“先判断、再动手、最后验证”的顺序展开,每一步都给出可核对的检查点。
涉及 systemd、systemctl、服务管理 的关键动作都写成了具体命令或配置项,可以照着走,也可以当检查表用。
常用操作
systemctl start/stop/restart/status;enable 才是开机自启,start 只是本次生效,两个概念别混。
unit 关键字段
ExecStart 写绝对路径,Restart=always 配 RestartSec=5,WorkingDirectory 决定相对路径的基准。
失败排查
先 systemctl status 看退出码,再 journalctl -u 服务名 -n 100 --no-pager 看日志,最后查 SELinux 与权限。
日志持久化
默认日志在内存,重启即失;改 /etc/systemd/journald.conf 设 Storage=persistent,并限制 SystemMaxUse 防占满磁盘。
自定义服务
放在 /etc/systemd/system/,改完先 daemon-reload 再 enable,否则新文件不生效。
速查表
| 环节 | 关键动作 |
|---|---|
| 常用操作 | systemctl start/stop/restart/status;enable 才是开机自启,start 只是本次生效,两个概念别混 |
| unit 关键字段 | ExecStart 写绝对路径,Restart=always 配 RestartSec=5,WorkingDirectory 决定相对路径的基准 |
| 失败排查 | 先 systemctl status 看退出码,再 journalctl -u 服务名 -n 100 --no-pager 看日志,最后查 SELinux 与权限 |
| 日志持久化 | 默认日志在内存,重启即失;改 /etc/systemd/journald.conf 设 Storage=persistent,并限制 SystemMaxUse 防占满磁盘 |
常见问题
Q:按文中写法改完,怎么确认真的生效?
不要只看配置文件,用对应的验证命令或从外部视角复测一次;改完先小流量观察一段,再全量推进,出问题能马上回退。
Q:按文中的步骤做完,还需要注意什么?
把处理过程和最终生效的参数记下来。同类问题再出现时直接对照记录,比重查一遍快得多。
Q:业务规模小,也要按这套标准来吗?
不需要一次到位。先把影响最大的两项做到位,剩余的随着业务增长逐步补齐,比一开始就追求完美更容易落地。
小结
回到这篇的 5 个环节:常用操作、unit 关键字段、失败排查、日志持久化、自定义服务。把这几个动作写进检查表,下次遇到同类问题按顺序过一遍,比凭经验跳步骤稳。
相关阅读:Linux常用命令速查:文件、进程、网络、游戏服务器租用:配置估算与运维、IPv6服务器:双栈配置与兼容检查。
延伸阅读:Linux常用命令速查:文件、进程、网络、日志切割与清理:logrotate实战、Nginx的502与504排查路径。