全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-20 5 分钟 ✍️ juanwangdev

Nginx常用命令

Nginx 的日常运维依赖命令行操作,下面梳理常用命令。

服务管理命令

systemctl 方式(推荐)

Bash
# 启动
sudo systemctl start nginx

# 停止
sudo systemctl stop nginx

# 重载配置(不中断服务)
sudo systemctl reload nginx

# 重启(中断服务)
sudo systemctl restart nginx

# 查看状态
sudo systemctl status nginx

# 开机自启
sudo systemctl enable nginx

# 取消自启
sudo systemctl disable nginx

nginx 命令

基本操作

Bash
# 启动 Nginx
sudo nginx

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

# 快速停止(立即终止)
sudo nginx -s stop

# 重载配置
sudo nginx -s reload

# 重新打开日志文件
sudo nginx -s reopen

配置验证

Bash
# 测试配置文件语法
sudo nginx -t

# 测试并输出详细错误
sudo nginx -T

版本信息

Bash
# 查看版本
nginx -v

# 查看版本及编译参数
nginx -V

指定配置文件

Bash
# 使用指定配置启动
sudo nginx -c /etc/nginx/custom.conf

# 指定配置目录
sudo nginx -g "daemon off;"

信号控制

通过 kill 命令发送信号:

Bash
# 获取主进程 PID
cat /var/run/nginx.pid

# 优雅停止
sudo kill -QUIT $(cat /var/run/nginx.pid)

# 快速停止
sudo kill -TERM $(cat /var/run/nginx.pid)

# 重载配置
sudo kill -HUP $(cat /var/run/nginx.pid)

# 重新打开日志
sudo kill -USR1 $(cat /var/run/nginx.pid)

# 优雅升级(旧版本关闭后再启动新版本)
sudo kill -USR2 $(cat /var/run/nginx.pid)

# 停止工作进程
sudo kill -WINCH $(cat /var/run/nginx.pid)

常用信号说明

信号说明
TERM/INT快速停止 Nginx
QUIT优雅停止(等待当前请求完成)
HUP重载配置(启动新工作进程,旧进程优雅退出)
USR1重新打开日志文件(用于日志轮转后)
USR2平滑升级(启动新版本 Nginx)
WINCH停止工作进程(保留主进程)

注意事项

  • 修改配置后优先执行 nginx -t 验证,避免配置错误导致服务无法启动
  • reload 是优雅重载,不会中断现有连接
  • restart 会先停再启,会导致短暂中断
  • 生产环境建议使用 reload 而非 restart

进程查看

Bash
# 查看 Nginx 进程
ps aux | grep nginx

# 查看监听端口
sudo netstat -tlnp | grep nginx
# 或
sudo ss -tlnp | grep nginx

要点总结

  • 服务管理推荐 systemctl,信号控制推荐 nginx -s
  • reload 优雅重载不中断连接,restart 会中断服务
  • 修改配置后务必先 nginx -t 验证
  • QUIT 信号优雅停止,TERM 信号快速停止
  • USR1 信号用于日志轮转后重新打开日志文件
  • USR2 信号用于平滑升级 Nginx 版本

📝 发现内容有误?点击此处直接编辑

← 上一篇 Nginx安装与基本配置
下一篇 → Nginx日志配置与优化
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库