一、基础概念题(必问)
1. Nginx 是什么?核心应用场景?
- Nginx 是高性能、轻量级的 HTTP Web 服务器、反向代理服务器、邮件代理服务器。
- 核心场景:
- 静态资源 Web 服务(HTML/CSS/JS/ 图片)
- 反向代理、负载均衡
- 动静分离
- HTTPS 部署、限流、缓存、防盗链
- 高并发网关层
2. Nginx 相比 Apache 优势?
3. Nginx 进程模型(master-worker)?
- master 进程(主进程):读取验证配置、管理 worker 进程、接收信号(reload/stop)、平滑重启
- worker 进程(工作进程):实际处理网络请求、事件循环、响应客户端
- 优点:稳定(一个 worker 挂了不影响整体)、利用多核 CPU、平滑升级
4. 为什么 Nginx 用多进程而非多线程?
二、核心配置 & 语法(高频)
5. Nginx 配置文件结构?
分为 4 块:
- 可包含多个 server 块
- 包含多个 location 块:匹配 URI 做路由
6. location 匹配规则与优先级(面试必考)
匹配类型(优先级从高到低):
示例:
location = /index { … } # 最高
location ^~ /static { … } # 次之
location ~ \\.(jpg|png)$ { … } # 正则
location / { … } # 兜底
7. try_files 作用?
按顺序检查文件 / 目录,不存在则转发或返回 404,常用于 SPA(Vue/React)路由。
location / {
try_files $uri $uri/ /index.html;
}
8. rewrite 与 return 区别?
- return:直接返回状态码 / URL,停止后续处理,性能高
- rewrite:URL 重写,可继续匹配其他 location,支持正则重写
三、反向代理 & 负载均衡(核心)
9. 正向代理 vs 反向代理?
- 正向代理:代理客户端,访问外部服务(如翻墙),服务端不知道真实客户端
- 反向代理:代理服务端,客户端不知道真实后端,统一入口、负载、安全
10. Nginx 负载均衡策略(必背)
11. upstream 配置示例(加权 + 健康检查)
upstream backend {
server 192.168.1.10:8080 weight=3;
server 192.168.1.11:8080 weight=2;
server 192.168.1.12:8080 backup; # 备用
server 192.168.1.13:8080 down; # 下线
}
location / {
proxy_pass http://backend;
}
12. ip_hash 缺点?
- 后端节点上下线,哈希结果会变,大量 Session 迁移
- 无法按负载动态调整
- 适合有状态服务,不适合微服务无状态架构
四、动静分离 & 缓存
13. 什么是动静分离?
- 静态资源(图片、JS、CSS)由 Nginx 直接返回
- 动态请求(接口)转发给 Tomcat/Java 服务
- 提升访问速度、减轻后端压力
14. Nginx 如何做缓存?
使用 proxy_cache 缓存后端响应:
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache_zone:10m inactive=1d;
location /api {
proxy_cache cache_zone;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 304 1h;
}
五、限流 & 安全(高频)
15. Nginx 两种限流方式?
示例(请求限流):
limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s;
location /api {
limit_req zone=req_limit burst=5 nodelay;
}
- burst:突发队列
- nodelay:突发请求不延迟直接处理
16. 如何实现防盗链?
通过 valid_referers 校验来源:
location ~* \\.(jpg|png|gif)$ {
valid_referers none blocked server_names *.xxx.com;
if ($invalid_referer) {
return 403;
}
}
17. Nginx 配置 HTTPS 步骤?
六、性能优化(高级面试)
18. Nginx 常用优化配置?
19. 什么是惊群问题?Nginx 如何解决?
- 惊群:多 worker 同时等待同一个连接,只有一个抢到,浪费资源
- Nginx 解决方案:互斥锁 accept_mutex,同一时间只有一个 worker 接收新连接
七、高可用 & 部署
20. Nginx 如何实现高可用?
使用 Keepalived + Nginx:
- 主备 Nginx 节点,虚拟 IP(VIP)漂移
- 主节点挂掉,VIP 自动切到备机
- 结合脚本检测 Nginx 存活,自动触发切换
21. Nginx 平滑重启 / 重载命令?
- 重载配置(不中断服务):nginx -s reload
- 快速停止:nginx -s stop
- 优雅停止(处理完请求):nginx -s quit
- 检查配置:nginx -t
八、故障排查(场景题必考)
22. 502 Bad Gateway 原因?
23. 504 Gateway Timeout 原因?
- Nginx 等待后端响应超时
- 后端业务逻辑慢、DB 慢查询、死锁
- proxy_read_timeout 时间过短
24. 403 Forbidden 原因?
25. 404 Not Found 原因?
九、高频综合面试题
26. Nginx 处理一个 HTTP 请求完整流程?
27. alias 和 root 区别?
- root:路径拼接 = root + location
- alias:精确替换路径,不拼接 location
location /img/ {
root /data; # 实际路径 /data/img/xxx.jpg
}
location /img/ {
alias /data/static/; # 实际路径 /data/static/xxx.jpg
}


![[鼎捷 E10] 财务相关单据操作时异常问题解决(一)-171主机测评](https://www.171host.com/wp-content/uploads/2026/10/20261030154444-6ae4bb6c483bc-220x150.png)


![[鼎捷 E10] 财务相关单据操作时异常问题解决(一)-171主机测评](https://www.171host.com/wp-content/uploads/2026/10/20261030144657-6ae4ade1b03de-220x150.png)