在 Linux 系统中,服务重启是常见的运维操作。根据不同的初始化系统(init system),重启服务的命令有所不同。以下是主流初始化系统的服务重启方法:
# 重启服务(会先停止再启动)
sudo systemctl restart <服务名>
# 示例:重启 Nginx
sudo systemctl restart nginx
相关操作:
# 查看服务状态
sudo systemctl status <服务名>
# 仅停止/启动服务
sudo systemctl stop <服务名>
sudo systemctl start <服务名>
# 重新加载配置(不重启服务)
sudo systemctl reload <服务名>
# 使用 service 命令
sudo service <服务名> restart
# 示例:重启 Apache
sudo service httpd restart # CentOS
sudo service apache2 restart # Ubuntu
或直接调用 init 脚本:
sudo /etc/init.d/<服务名> restart
如果不确定当前系统使用的初始化系统,可通过以下命令确认:
# 检查 PID 1 的进程
ps -p 1 -o comm=
systemd
→ 使用 systemctl
init
→ 使用 service
或 /etc/init.d/
# 先尝试 systemctl,失败后尝试 service
sudo systemctl restart <服务名> || sudo service <服务名> restart
sudo
或 root 权限。systemctl list-unit-files --type=service
(systemd)ls /etc/init.d/
(SysVinit)bash
journalctl -u <服务名> -b # systemd
tail -f /var/log/<服务名>.log # 通用
# 1. 重启服务
sudo systemctl restart nginx
# 2. 检查状态
sudo systemctl status nginx
# 3. 验证(如果服务有端口监听)
ss -tulnp | grep nginx
根据您的系统选择对应命令即可。现代 Linux 发行版推荐优先使用 systemctl
。