Systemctl 基本使用指南
systemctl 是 Linux 系统中用于控制 systemd 系统和服务管理器的一个基本工具。systemd 负责初始化系统,启动服务。了解 systemctl 的基本使用可以帮助你更好地管理系统服务。
1. 开启服务
要启动一个服务,可以使用以下命令:
Shell
sudo systemctl start [服务名称]例如,要启动 nginx 服务,你可以使用:
Shell
sudo systemctl start nginx2. 关闭服务
要停止一个正在运行的服务,可以使用:
Shell
sudo systemctl stop [服务名称]例如,要停止 nginx 服务,你可以使用:
Shell
sudo systemctl stop nginx3. 禁止开机自启动
如果你不希望某个服务在系统启动时自动启动,可以使用以下命令:
Shell
sudo systemctl disable [服务名称]例如,要禁止 nginx 服务开机自启动,你可以使用:
Shell
sudo systemctl disable nginx4. 允许开机自启动
如果你希望某个服务在系统启动时自动启动,可以使用以下命令:
Shell
sudo systemctl enable [服务名称]例如,要允许 nginx 服务开机自启动,你可以使用:
Shell
sudo systemctl enable nginx5. 编写一个开机自启动的脚本示例
要创建一个开机自启动的脚本,你需要:
- 编写脚本文件,例如
/usr/local/bin/my-startup-script.sh。 - 使脚本可执行:
chmod +x /usr/local/bin/my-startup-script.sh。 - 创建一个 systemd 服务文件,例如
/usr/lib/systemd/system/my-startup-service.service,内容如下:
TOML / INI
[Unit]
Description=My custom startup script
[Service]
Type=simple
ExecStart=/usr/local/bin/my-startup-script.sh
[Install]
WantedBy=multi-user.target- 重新加载 systemd,使新的服务文件生效:
Shell
sudo systemctl daemon-reload- 启用服务,使其开机自启动:
Shell
sudo systemctl enable my-startup-service- 现在,你的脚本将在系统启动时自动执行。
通过掌握 systemctl 的基本使用,你可以轻松管理服务,定制系统的启动行为。
6. 编写Nginx开机自启动的脚本示例
新建配置
Shell
vim /usr/lib/systemd/system/nginx.service写入配置
TOML / INI
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/home/work/nginx/sbin/nginx
ExecReload=/home/work/nginx/sbin/nginx -s reload
ExecStop=/home/work/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target使配置生效
Shell
sudo systemctl daemon-reload
sudo systemctl enable nginx
还没有评论,来说点什么。