资讯动态

Nginx--基础知识点--8--nginx配置

发布时间:2026/8/15 19:40:49 来源:尧图企业网站定制
我们把刚才关于 Nginx 的讨论从应用能力、配置结构到性能调优做一个系统性的梳理一、Nginx 的三大核心功能应用层Nginx 本质上是一个高性能的反向代理与网关服务器它在应用层提供三大核心能力对应配置中的三个顶级块功能领域配置块作用默认编译Web / HTTP 服务http网站服务器、反向代理、负载均衡、静态资源、API 网关✅ 是邮件代理mail为 SMTP/POP3/IMAP 提供统一的代理入口、负载均衡、SSL 终结❌ 需--with-mail通用流代理stream在 TCP/UDP 四层做端口转发和负载均衡如代理 MySQL、Redis、DNS❌ 需--with-stream注意你最初问的mail功能就是三大支柱之一它是一种四层代理识别邮件协议但不存储邮件。二、Nginx 配置文件的“三大组成部分”结构层这是你后来纠正的重点在标准 Web 服务器配置中nginx.conf严格分为三个顶级层次# 1. 全局块Main user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; # 2. Events 块 events { worker_connections 1024; # 每个工作进程的最大连接数 use epoll; # 事件驱动模型Linux 下推荐 epoll multi_accept on; # 【待细说】是否一次接受多个新连接 } # 3. HTTP 块 http { # HTTP 全局设置 include /etc/nginx/mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; # Server 块虚拟主机 server { listen 80; server_name localhost; # Location 块URL 路由 location / { root /usr/share/nginx/html; index index.html index.htm; } } }http块内部还允许嵌套多个server块按域名/端口区分每个server里再嵌套多个location块按 URL 路径匹配路由。如果编译了mail或stream它们也与http平级属于另外的顶级配置块。三、multi_accept on指令详解性能调优作用控制 Nginx 工作进程在一次“有新连接”的通知中是否把当前所有等待中的新连接一次性全部接受而不是只接受 1 个。状态行为优点风险off默认每次只 accept 1 个新连接新连接能较均匀地分散给多个 Worker突发流量下系统调用次数增多吞吐量略降on循环 accept 直到当前没有新连接等待减少短连接场景下的系统调用开销提升瞬时吞吐量容易造成单个 Worker 抢走所有新连接导致负载不均长连接场景尤其明显最佳实践建议绝大多数场景保持默认off。现代内核配合EPOLLEXCLUSIVE已能较好地均匀分发连接开启on反而可能引入负载不均的风险。仅在纯短连接、且经过压测验证的高并发网关场景才考虑开启以换取微小的吞吐量提升。四、Nginx 整体架构回顾为了方便你串联起来下面这张表涵盖了 Nginx 从配置定义到运行机制的全貌层次内容关键点配置定义nginx.conf的三大块全局块、Events 块、HTTP 块以及可选的 Mail/Stream 块server和location是http下的子层级进程模型Master管理 Worker干活 Cache缓存相关Master 负责读取配置和协调 WorkerWorker 处理实际请求事件驱动epollLinux 下 multi_accept控制连接接收策略决定了 Nginx 如何处理高并发网络 IO应用能力HTTP 反向代理、邮件代理、通用流代理三大支柱通过编译参数选择开启哪些功能模块这样就把我们从 Nginx 的三大功能、配置文件结构、到multi_accept这个具体参数的来龙去脉完整串联起来了。如果还需要针对某个具体模块比如location的匹配规则、stream代理配置展开随时可以继续问我~

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价