一、Nginx 启停与重载(最常用)
1️⃣ 启动 Nginx
nginx
使用默认配置启动(/etc/nginx/nginx.conf
)
2️⃣ 指定配置文件启动
nginx -c /etc/nginx/nginx.conf
多配置环境(测试 / 生产)非常常见
3️⃣ 停止 Nginx(快速)
nginx -s stop
立即终止,不等待请求完成(不推荐生产使用)
4️⃣ 优雅停止 Nginx
nginx -s quit
等待当前请求处理完成后退出(生产推荐)
5️⃣ 重载配置(不停机)
nginx -s reload
修改配置后必须使用,不会中断连接
6️⃣ 重新打开日志文件
nginx -s reopen
日志切割后必用(配合 logrotate)
二、配置文件检查(高频救命命令)
7️⃣ 检查配置是否正确
nginx -t
上线前必做动作
8️⃣ 指定配置文件检查
nginx -t -c /etc/nginx/nginx.conf
9️⃣ 显示加载的配置文件路径
nginx -T
输出完整配置内容(含 include 文件)
三、进程与状态管理
🔟 查看 Nginx 进程
ps -ef | grep nginx
1️⃣1️⃣ 查看监听端口
netstat -lntp | grep nginx
或
ss -lntp | grep nginx
1️⃣2️⃣ 查看 Master / Worker 进程
ps aux | grep'nginx:'
1️⃣3️⃣ 查看 Nginx PID
cat /var/run/nginx.pid
四、日志相关命令(排障核心)
1️⃣4️⃣ 查看访问日志
tail -f /var/log/nginx/access.log
1️⃣5️⃣ 查看错误日志
tail -f /var/log/nginx/error.log
1️⃣6️⃣ 实时统计访问量
awk'{print $1}' access.log |sort |uniq -c |sort -nr |head
快速定位恶意 IP
1️⃣7️⃣ 按状态码统计
awk'{print $9}' access.log |sort |uniq -c
五、版本与编译参数
1️⃣8️⃣ 查看 Nginx 版本
nginx -v
1️⃣9️⃣ 查看详细版本与编译参数
nginx -V
排查模块是否支持(如 --with-http_ssl_module
)
六、配置与路径定位
2️⃣0️⃣ 查找 nginx.conf 位置
nginx -V 2>&1 | grep conf
2️⃣1️⃣ 查找默认安装路径
whereis nginx
2️⃣2️⃣ 查看二进制路径
which nginx
七、性能与连接排查
2️⃣3️⃣ 查看当前连接数
ss -s
2️⃣4️⃣ 查看 TIME_WAIT 连接
ss -ant | grep TIME-WAIT |wc -l
2️⃣5️⃣ 查看某端口连接数
ss -ant | grep :80 |wc -l
八、调试与问题定位
2️⃣6️⃣ 前台运行(调试用)
nginx -g"daemon off;"
Docker / 容器环境常用
2️⃣7️⃣ 测试 reload 是否生效
nginx -t && nginx -s reload
生产标准操作
2️⃣8️⃣ 强制杀死 Nginx(最后手段)
kill -9 <pid>
仅在异常卡死时使用
2️⃣9️⃣ 一键重启(谨慎)
nginx -s stop && nginx
mikechen睿哥
10年+一线大厂架构实战经验,操盘多个亿级大厂核心项目,就职于阿里、淘宝等一线大厂。