{T}

Nginx

Nginx 是一款开源、高性能、事件驱动的异步非阻塞架构的 Web 服务器。它不仅是 Web 服务器,更是功能强大的反向代理服务器、负载均衡器、HTTP 缓存服务器,以及邮件代理服务器

特性说明优势
事件驱动模型基于 epoll(Linux)、kqueue(BSD)等系统调用单个进程可处理上万并发连接
异步非阻塞I/O处理请求时不等待I/O完成高并发下CPU利用率高
主-工作进程模型1个主进程 + N个工作进程热升级、高可用
内存池管理预分配内存,减少系统调用性能稳定,内存碎片少

核心功能

HTTP/HTTPS 服务器

code
# 静态文件服务示例
location /static/ {
    root /var/www;
    expires 30d;  # 缓存30天
    access_log off;  # 关闭日志提升性能
}

反向代理

code
# 代理到后端应用
location /api/ {
    proxy_pass http://backend_server;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

负载均衡

code
upstream backend {
    # 多种负载均衡算法
    least_conn;  # 最少连接数
    # ip_hash;   # IP哈希
    # hash $request_uri;  # 一致性哈希
    
    server 192.168.1.100:8000 weight=3;  # 权重3
    server 192.168.1.101:8001;
    server 192.168.1.102:8002 backup;   # 备份服务器
}

SSL/TLS 终端

code
server {
    listen 443 ssl http2;  # 支持HTTP/2
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
}

性能数据对比

  • 静态文件:单机可支持 5万+ QPS

  • 反向代理:单机可支持 2-3万 QPS

  • 内存占用:1万个空闲连接 ≈ 2.5MB

  • CPU使用:同等并发下通常比Apache低50%

典型应用场景

code
1. 静态内容加速
2. API网关/微服务入口
3. 前后端分离架构
4. 流媒体服务器(RTMP/HLS)
5. WebSocket代理
6. 安全防护(限流、WAF前置)

版本差异(Nginx → 1.26/1.28 主线)

特性旧版(1.1x)当前(1.26.x/1.28.x 主线,1.24.x 稳定)
性能HTTP/2 支持新增 HTTP/3(QUIC)支持(1.25+)
TLS1.2/1.3 基础TLS 1.3 默认优化,支持自动证书(ACME)
模块静态编译动态模块加载(load_module)成为主流
运维手动编译安装官方 yum/apt 源 + docker 镜像(nginx:alpine)

反向代理、负载均衡(upstream)、静态资源、gzip、rewrite 等核心配置语法在 1.2x 中完全兼容,本文示例可直接复用。