欢迎光临
我们一直在努力

Nginx 详解


📌 一、什么是 Nginx?

✅ Nginx(engine x)是一个 高性能、高并发、轻量级 的 Web 服务器 和 反向代理服务器
✅ 同时支持:HTTP 服务器、反向代理、负载均衡、缓存、动静分离等功能

典型应用场景:

  • 网站服务器(如静态页面、图片、视频服务)
  • 反向代理(隐藏真实服务器)
  • 负载均衡(分发请求)
  • 接口限流、黑白名单
  • HTTPS 终端、SSL卸载

📌 二、Nginx 核心模块组成

模块作用
http 处理 HTTP 请求,支持反向代理、缓存、访问控制等
server 定义虚拟主机,监听端口和域名
location 匹配具体请求路径,做转发、代理或直接返回
upstream 配置后端服务器集群,实现负载均衡
events 控制连接数、IO模型(epoll/kqueue)等性能参数

📌 三、核心配置结构(实战级)

worker_processes 4; # 工作进程数(CPU核数)

events {
worker_connections 1024; # 每个进程最大连接数
}

http {
include mime.types;
default_type application/octet-stream;

upstream backend {
server 127.0.0.1:8081 weight=3;
server 127.0.0.1:8082;
}

server {
listen 80;
server_name www.example.com;

location /static/ {
root /var/www/html;
}

location /api/ {
proxy_pass http://backend;
}
}
}


📌 四、反向代理(经典)

location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}

✅ 作用:客户端请求先到 Nginx,由 Nginx 转发给后端服务器


📌 五、负载均衡策略(面试重点)

upstream backend {
server 192.168.1.10 weight=3;
server 192.168.1.11 weight=1;
}

支持算法:

算法作用
轮询(默认) 顺序分配请求
weight 权重 权重大者分配多
ip_hash 同一IP固定访问同一后端
least_conn 连接数最少的优先

📌 六、动静分离(高性能优化)

location ~* \\.(jpg|png|css|js|ico)$ {
root /usr/share/nginx/html/static;
expires 30d; # 强缓存
}
location / {
proxy_pass http://backend;
}

✅ 静态资源 Nginx 直接返回,动态请求转发后端,减轻服务器压力


📌 七、Nginx 限流/防刷(实战超经典)

limit_req_zone $binary_remote_addr zone=limitZone:10m rate=10r/s;

server {
location /api/ {
limit_req zone=limitZone burst=5 nodelay;
proxy_pass http://backend;
}
}

✅ 限流效果:同一 IP 每秒最多 10 个请求,超出进入排队


📌 八、Nginx 支持 HTTPS(SSL配置)

server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/cert.key;

location / {
proxy_pass http://backend;
}
}

✅ 作用:

  • 数据加密传输
  • 防止中间人攻击
  • 配置简单,性能好

📌 九、Nginx 热部署 & 日志

nginx -s reload # 热加载配置
nginx -s stop # 停止Nginx

# 日志路径
access_log logs/access.log;
error_log logs/error.log;


📌 🔥 十、面试必问核心总结

知识点快速回答
Nginx 为什么高性能? IO 多路复用(epoll),异步非阻塞,单线程高并发
负载均衡策略有哪些? 轮询、权重、ip_hash、least_conn
动静分离怎么做? 静态资源 Nginx 直接处理,动态交后端
Nginx 限流怎么做? limit_req 限 IP 请求速率
Nginx 怎么实现 HTTPS? ssl_certificate、ssl_certificate_key

📌 十一、Nginx 应用场景总结

✅ 网站服务器(部署静态文件)
✅ 网关(API 反向代理、接口聚合)
✅ 负载均衡(高并发转发、后端集群)
✅ 安全防护(限流、防刷、IP 过滤)
✅ 图片/视频 CDN 服务器
✅ 接入 HTTPS,安全加密传输


📌 十二、总结一句话:

Nginx = 高性能反向代理 + 负载均衡 + 静态服务器 + 安全防护神器,互联网架构必备!


赞(0)
未经允许不得转载:171主机测评 » Nginx 详解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址