上一篇
停止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):
sudo service nginx stop
- 验证:
service nginx status # 显示"not running"或"stopped"
直接终止Nginx进程
当上述命令无效时(如服务文件损坏),手动结束进程:
- 查找主进程ID:
ps aux | grep nginx
输出示例:
root 1234 0.0 0.1 12345 6789 ? Ss 10:00 0:00 nginx: master process - 终止主进程:
sudo kill -QUIT 1234 # 优雅停止(推荐) # 或强制停止: sudo kill -TERM 1234 # 立即终止
使用Nginx自带命令停止
通过Nginx的sbin目录操作:
sudo /usr/sbin/nginx -s stop # 快速停止 # 或优雅停止(处理完当前请求后退出): sudo /usr/sbin/nginx -s quit
常见问题解决
- 权限不足:
- 添加
sudo前缀或切换root用户。
- 添加
- 停止后仍可访问:
- 检查是否有残留进程:
sudo pkill -9 nginx(强制终止所有Nginx进程)。 - 确认防火墙未重定向请求。
- 检查是否有残留进程:
- 启动失败提示端口占用:
- 检查占用端口的进程:
sudo ss -tulnp | grep ':80'。
- 检查占用端口的进程:
安全注意事项
- 数据完整性:
- 优先使用
quit或-s quit优雅停止,避免中断正在处理的请求。
- 优先使用
- 备份配置:
- 停止前备份配置:
sudo cp /etc/nginx/nginx.conf /backup/
- 停止前备份配置:
- 重启依赖:
- 停止后需手动启动:
sudo systemctl start nginx
- 停止后需手动启动:
- 推荐方法:优先使用
sudo systemctl stop nginx(systemd系统)或sudo service nginx stop(SysVinit系统)。 - 备选方案:直接调用
nginx -s quit或终止主进程。 - 操作后务必验证:通过
systemctl status nginx或ps aux | grep nginx确认进程已退出。
引用说明参考Nginx官方文档的进程控制章节及Linux系统管理标准实践,操作命令已在Ubuntu 22.04、CentOS 7环境中验证。
