参考资料

  1. nginx 配置静态文件路径
  2. Nginx的基本配置文件结构
  3. Nginx作为反向代理的功能
  4. PHP-FPM 性能优化
  5. NginxPHP服务器环境搭建详细说明以及案例
  6. Nginx HTTP代理服务器详细说明以及案例
  7. 如何验证Nginx配置是否生效?
  8. nginx 查看配置文件

Nginx支持高并发的核心机制和配置示例:

  1. 事件驱动架构

  • 使用epoll(Linux)/kqueue(FreeBSD)等高效I/O多路复用机制

  • 非阻塞式处理请求

  1. 多进程模型

worker_processes auto;  # 自动匹配CPU核心数
worker_rlimit_nofile 100000;  # 每个worker能打开的文件描述符数量
  1. 连接优化配置

events {
    worker_connections 10240;  # 每个worker的最大连接数
    use epoll;  # Linux系统使用epoll
    multi_accept on;  # 同时接受多个连接
}

http {
    sendfile on;  # 零拷贝传输
    tcp_nopush on;  # 优化数据包发送
    tcp_nodelay on;  # 禁用Nagle算法
    keepalive_timeout 65;  # 长连接超时
    keepalive_requests 1000;  # 单个长连接最大请求数
}
  1. 缓冲区优化

client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_size 8m;
large_client_header_buffers 4 8k;
  1. 静态文件缓存

open_file_cache max=200000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
  1. 负载均衡示例

upstream backend {
    least_conn;  # 最少连接算法
    server 10.0.0.1:8080;
    server 10.0.0.2:8080;
    keepalive 32;  # 保持的连接池大小
}
  1. 并发限制保护

limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn perip 100;  # 单个IP最大连接数