插件窝 干货文章 nginx怎么停止命令行

nginx怎么停止命令行

Nginx sudo 停止 进程 680    来源:    2025-04-07

在命令行中停止 Nginx 服务的方法取决于你的操作系统和 Nginx 的安装方式。以下是常见场景的解决方案:


1. 通过系统服务命令停止(推荐)

Linux (Systemd 系统 - 如 Ubuntu 16.04+/CentOS 7+)

sudo systemctl stop nginx

Linux (SysVinit 系统 - 如旧版 CentOS 6)

sudo service nginx stop

macOS (Homebrew 安装的 Nginx)

brew services stop nginx
# 或直接杀进程
sudo nginx -s stop

Windows

nginx -s stop
# 或通过任务管理器结束进程

2. 直接通过 Nginx 命令停止

适用于所有系统(需有 Nginx 可执行文件路径权限):

# 优雅停止(处理完当前请求后退出)
sudo nginx -s quit

# 立即停止
sudo nginx -s stop

3. 强制终止进程

如果上述方法无效,手动结束进程:

# 查找 Nginx 主进程
ps aux | grep nginx

# 强制终止(根据上一步查到的 PID)
sudo kill -9 <PID>
# 或终止所有 Nginx 进程
sudo pkill -9 nginx

常见问题排查

  • 权限不足:确保命令前加 sudo
  • 报错 nginx: command not found:需指定 Nginx 可执行文件完整路径(如 /usr/sbin/nginx -s stop)。
  • 停止后自动重启:可能是系统服务配置了自动重启,需禁用服务: bash sudo systemctl disable nginx # Systemd 系统 sudo chkconfig nginx off # SysVinit 系统

根据你的环境选择对应方法即可。通常优先使用 systemctlnginx -s quit 实现优雅停止。