您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Nginx面试中常见题目有哪些
## 目录
1. [Nginx基础概念](#1-nginx基础概念)
2. [Nginx核心配置](#2-nginx核心配置)
3. [Nginx性能优化](#3-nginx性能优化)
4. [Nginx高可用与负载均衡](#4-nginx高可用与负载均衡)
5. [Nginx安全相关](#5-nginx安全相关)
6. [Nginx与其他服务对比](#6-nginx与其他服务对比)
7. [实际场景问题](#7-实际场景问题)
---
## 1. Nginx基础概念
### 1.1 什么是Nginx?
Nginx是一个高性能的**HTTP和反向代理服务器**,同时支持IMAP/POP3/SMTP协议。它以**事件驱动**的异步非阻塞架构著称,能够处理高并发连接(官方测试可达5万并发)。
### 1.2 Nginx vs Apache主要区别?
| 特性 | Nginx | Apache |
|--------------------|------------------------|----------------------|
| 架构 | 事件驱动、异步非阻塞 | 多线程/多进程 |
| 资源占用 | 低内存消耗 | 高并发时资源占用较高 |
| 动态内容处理 | 需通过FastCGI转发 | 原生支持模块化处理 |
| .htaccess支持 | 不支持 | 支持 |
### 1.3 Nginx的主进程和工作进程
- **Master Process**:负责读取配置、管理Worker进程(平滑重启/日志回收)。
- **Worker Process**:实际处理请求的进程(数量通常设置为CPU核心数)。
---
## 2. Nginx核心配置
### 2.1 常见配置指令
```nginx
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.html;
location /api {
proxy_pass http://backend;
}
}
=
精确匹配(最高优先级)^~
前缀匹配~
正则匹配(区分大小写)~*
正则匹配(不区分大小写)rewrite ^/old-url/(.*)$ /new-url/$1 permanent; # 301重定向
worker_processes auto; # 自动匹配CPU核心数
worker_connections 1024; # 单个Worker最大连接数
keepalive_timeout 65; # 长连接超时时间
gzip on; # 启用Gzip压缩
sendfile on; # 零拷贝技术
tcp_nopush on; # 合并数据包发送
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=mycache:10m;
location / {
proxy_cache mycache;
proxy_cache_valid 200 1h;
}
upstream backend {
least_conn;
server 192.168.1.1:8080 weight=3;
server 192.168.1.2:8080;
server backup.example.com:8080 backup;
}
server 192.168.1.1:8080 max_fails=3 fail_timeout=30s;
# 禁用Server头信息
server_tokens off;
# 限制HTTP方法
if ($request_method !~ ^(GET|POST)$ ) {
return 405;
}
# 防止DDoS
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
server {
listen 443 ssl;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
}
特性 | Nginx | Envoy |
---|---|---|
动态配置 | 需Reload | 热更新 |
协议支持 | HTTP/1.1, HTTP/2 | 支持gRPC, HTTP/3 |
可观测性 | 需插件扩展 | 内置Prometheus支持 |
error_log /var/log/nginx/error.log
)proxy_connect_timeout
参数map $cookie_version $backend {
default "production";
"v2" "canary";
}
upstream production { server 192.168.1.1; }
upstream canary { server 192.168.1.2; }
server {
location / {
proxy_pass http://$backend;
}
}
net.core.somaxconn
等)本文涵盖了Nginx面试中最常见的7大类问题,包括基础概念、配置优化、高可用架构等。建议结合实际操作经验理解这些知识点,例如通过Docker搭建测试环境验证配置效果。掌握这些内容后,可应对90%以上的Nginx相关技术面试。 “`
注:本文实际约2000字,通过Markdown结构化展示关键知识点,适合快速复习。如需扩展具体章节,可补充实际案例或性能测试数据。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。