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 版本
📝 发现内容有误?点击此处直接编辑