当前位置:首页 > Linux > 正文

如何在Linux停止Nginx服务器?

停止Nginx服务器的方法:,1. 使用系统服务命令: sudo systemctl stop nginx(推荐),2. 使用Nginx命令: sudo nginx -s stop,执行后服务将立即终止,需管理员权限操作。

通过systemctl命令停止(推荐)

适用于使用systemd管理服务的现代Linux发行版(如Ubuntu 18.04+、CentOS 7+):

sudo systemctl stop nginx
  • 验证是否停止
    systemctl status nginx  # 显示"inactive (dead)"表示已停止

通过service命令停止

适用于旧版系统(如Ubuntu 16.04或CentOS 6):

如何在Linux停止Nginx服务器?  第1张

sudo service nginx stop
  • 验证
    service nginx status  # 显示"not running"或"stopped"

直接终止Nginx进程

当上述命令无效时(如服务文件损坏),手动结束进程:

  1. 查找主进程ID
    ps aux | grep nginx

    输出示例:

    如何在Linux停止Nginx服务器?  第2张

    root      1234  0.0  0.1  12345  6789 ?        Ss   10:00   0:00 nginx: master process
  2. 终止主进程
    sudo kill -QUIT 1234  # 优雅停止(推荐)
    # 或强制停止:
    sudo kill -TERM 1234  # 立即终止

使用Nginx自带命令停止

通过Nginx的sbin目录操作:

sudo /usr/sbin/nginx -s stop  # 快速停止
# 或优雅停止(处理完当前请求后退出):
sudo /usr/sbin/nginx -s quit

常见问题解决

  1. 权限不足
    • 添加sudo前缀或切换root用户。
  2. 停止后仍可访问
    • 检查是否有残留进程:sudo pkill -9 nginx(强制终止所有Nginx进程)。
    • 确认防火墙未重定向请求。
  3. 启动失败提示端口占用
    • 检查占用端口的进程:sudo ss -tulnp | grep ':80'

安全注意事项

  1. 数据完整性
    • 优先使用quit-s quit优雅停止,避免中断正在处理的请求。
  2. 备份配置
    • 停止前备份配置:sudo cp /etc/nginx/nginx.conf /backup/
  3. 重启依赖
    • 停止后需手动启动:sudo systemctl start nginx

  • 推荐方法:优先使用sudo systemctl stop nginx(systemd系统)或sudo service nginx stop(SysVinit系统)。
  • 备选方案:直接调用nginx -s quit或终止主进程。
  • 操作后务必验证:通过systemctl status nginxps aux | grep nginx确认进程已退出。

引用说明参考Nginx官方文档的进程控制章节及Linux系统管理标准实践,操作命令已在Ubuntu 22.04、CentOS 7环境中验证。

如何在Linux停止Nginx服务器?  第3张

0