user root; # root权限运行worker_processes 1; # 单个进程,对于一般的应用场景,一个进程足够了
# 默认值:auto(自动匹配 CPU 核心数)。
# CPU 密集型场景(如动态计算):worker_processes = CPU核心数。
# I/O 密集型场景(如静态文件服务器):可设置为 CPU核心数 * 1.5~2
events {worker_connections 1024; # 1024个连接数
# 作用:单个工作进程的最大并发连接数。
# 公式:最大并发 = worker_processes * worker_connections。
# 受限于系统文件描述符(ulimit -n)
# 反向代理场景需乘以 2(客户端 + 后端连接)
}
http {include /etc/nginx/mime.types; # 文件后缀名对应关系配置default_type application/octet-stream; # 应用程序默认类型sendfile on; # 零拷贝技术tcp_nopush on; # 确保数据包在发送前已充分填满tcp_nodelay on; # 提高数据包传输的实时性,TCP_NODELAY 为 on 可以立即发送缓冲区中的数据,而不必等待tcp_nopush on; [//]:合并数据包aio on; # 异步 I/O(大文件适用)keepalive_timeout 65; # 超时时间,单位Sgzip on; # 启用 Gzip 压缩gzip_buffers 32 4k; # 设置缓冲区大小,高并发场景下,建议结合静态资源缓存使用,以减少服务器负载gzip_comp_level 6; # 压缩级别(推荐值为 6)gzip_min_length 100; # 最小压缩文件大小(单位:字节)gzip_types text/plain text/css application/javascript; # 指定压缩的文件类型,图片、音频等二进制文件通常无需压缩,因为它们已经被高度优化gzip_disable "MSIE [1-6]\."; # 禁用对 IE6 及以下版本的压缩gzip_vary on; # 添加 Vary: Accept-Encoding 响应头,便于代理服务器缓存include /etc/nginx/conf.d/*.conf; # 引入多个配置文件,便于管理和维护
}