
管理Linux系统服务,尤其是在现代Linux发行版中,核心工具就是
systemctl
要管理Linux系统服务,最直接有效的方式就是使用
systemctl
systemctl status <服务名>
systemctl status nginx
systemctl start <服务名>
systemctl stop <服务名>
systemctl restart <服务名>
systemctl reload <服务名>
systemctl enable <服务名>
/etc/systemd/system/
systemctl disable <服务名>
systemctl is-enabled <服务名>
这些命令通常需要
sudo
服务启动失败,这简直是家常便饭,尤其是在配置新服务或者修改现有服务的时候。我个人遇到过太多次了,一开始总是手足无措,后来才发现,
systemctl
当你运行
systemctl status <服务名>
active (failed)
inactive
Active: failed
Main PID
CGroup
systemctl status
如果
systemctl status
journalctl
journalctl -xeu <服务名>
这个命令会显示指定服务的所有日志,
x
e
u
有时候,日志信息会非常冗长,需要耐心筛选。我通常会结合
grep
journalctl -xeu nginx | grep "error"
提到
systemctl
.service
systemctl
.target
multi-user.target
graphical.target
systemctl isolate <target名>
systemctl list-units --type=target
.socket
.socket
.timer
cron
systemd timer
timer
cron
.mount
.automount
systemd
/etc/fstab
.mount
.automount
.device
systemd
了解这些不同的单元类型,能让你在系统管理时有更多的选择和更细致的控制。你可以用
systemctl list-units --type=all
systemctl list-unit-files --type=<类型>
有时候,系统自带的服务配置不满足需求,或者你需要运行一个自定义的应用程序作为系统服务。这时候,创建或修改systemd单元文件就成了必备技能。这听起来可能有点复杂,但掌握了基本结构,你会发现它非常直观。
一个最简单的
.service
[Unit]
Description=My Custom Web Server
After=network.target
network.target
Requires=
[Service]
ExecStart=/usr/local/bin/my_web_server --config /etc/my_web_server.conf
WorkingDirectory=/var/lib/my_web_server
User=myuser
Group=mygroup
Restart=on-failure
always
on-success
no
Type=simple
ExecStart
forking
[Install]
enable
disable
WantedBy=multi-user.target
enable
multi-user.target
创建自定义服务: 你通常会在
/etc/systemd/system/
.service
my-app.service
sudo systemctl daemon-reload
然后就可以像其他服务一样管理它了:
sudo systemctl start my-app
sudo systemctl enable my-app
修改现有服务:
如果你想修改系统自带的服务,比如Nginx的某些行为,千万不要直接去编辑/usr/lib/systemd/system/nginx.service
systemctl edit <服务名>
sudo systemctl edit nginx
这个命令会为你创建一个
/etc/systemd/system/nginx.d/override.conf
.service
Restart
# /etc/systemd/system/nginx.d/override.conf [Service] Restart=always RestartSec=5s
保存后,
systemctl daemon-reload
systemctl restart nginx
我发现,花时间去理解和实践这些单元文件的编写,对系统管理的效率提升是巨大的。它让我能够更精细地控制应用程序的运行环境,解决一些看似棘手的启动问题,甚至能将一些复杂的脚本自动化地作为系统服务运行,这在日常运维中真的非常有用。
以上就是如何管理Linux系统服务 systemctl服务状态控制的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号