概述
本章,您将了解到 Nginx 的基本内容。
Nginx:一款高性能的开源 Web 服务器程序,同时也提供反向代理、负载均衡、内容缓存、邮件代理等多种功能,其最早版本 0.1.0 由创始人 伊戈尔·赛索耶夫 开发并诞生于 2004 年 10 月 4 日,初衷是为了解决当时俄罗斯门户网站 Rambler.ru 面临的 C10K (Concurrent 10000 Connections)问题,也就是高并发访问的挑战。
Nginx 的主要特点有:
- 轻量化 - 占用内存低;
- 高性能 - 处理高并发能力强;
- 模块化设计 - 高拓展,企业可根据自己的需求添加模块;
- 支持热部署平滑更新 - 在不断开 Web 服务的情况下对软件的版本进行更新,而这一切对于客户端访问来说无任何感知;
- 高可靠性 - 可满足 7*24 小时不间断的工作,连续运行数个月都不需要重启。
相关信息:
- 官方网站 - https://nginx.org/
- Github 存储库 - https://github.com/nginx/nginx
版本号说明
Nginx 的版本号采用 "主版本号.次版本号.修订版本号" 的三段式格式(例如 1.30.4),每个数字的含义如下:
-
主版本号 - 当 Nginx 发生重大架构变更或不兼容的改动时增加。历史上主版本号从 0 升到 1 后一直保持稳定,尚未出现 2.x 版本
-
次版本号 - 当功能有较大增强或引入新特性时增加。次版本号的奇偶性决定了分支类型:
- 奇数次版本号(如 1.31.x)→ 主线版(Mainline),包含最新功能和实验性特性,适合开发和测试环境。
- 偶数次版本号(如 1.30.x)→ 稳定版(Stable),经过充分测试,适合生产环境。
-
修订版本号 - 当修复安全漏洞、Bug 或进行小幅优化时增加。例如 1.30.4 就是 1.30 稳定分支的第 4 个修订版。
重要版本时间线
诞生期(2002-2004)
- 2002 年 - 伊戈尔·赛索耶夫开始为俄罗斯门户网站 Rambler.ru 开发 Nginx,旨在解决 C10K 高并发问题
- 2004 年 10 月 4 日:Nginx 0.1.0 首次公开发布,采用 2-clause BSD 许可证,从一开始就是开源软件
主线与稳定版迭代期(2010-2024)
- 2010 年 - Nginx 1.0.0 发布,标志着项目进入成熟阶段
- 2015 年 4 月 - Nginx 1.8.0 稳定版发布,首次引入 HTTP/2 支持
- 2017 年 4 月 - Nginx 1.12.0 稳定版发布,增强了 Stream 模块和动态模块支持
- 2019 年 4 月 - Nginx 1.16.0 稳定版发布,增加了 UDP 代理和 TLS 1.3 支持
- 2020 年 4 月 - Nginx 1.18.0 稳定版发布,这是最后一个支持传统配置的版本
- 2021 年 4 月 - Nginx 1.20.0 稳定版发布,强化了 HTTP/2 和 QUIC 实验性支持
- 2022 年 5 月 - Nginx 1.22.0 稳定版发布,改进了 HTTP/3 和 QUIC 的兼容性
- 2023 年 4 月 - Nginx 1.24.0 稳定版发布,正式将 HTTP/3 支持推向生产环境
- 2024 年 4 月 - Nginx 1.26.0 稳定版发布,进一步优化了 HTTP/3 和流媒体处理能力
最近更新(2025-2026)
- 2025 年 4 月 23 日 - Nginx 1.28.0 稳定版发布,优化了 SSL 内存和 CPU 使用效率,引入 QUIC Cubic 拥塞控制算法,并默认禁用不安全的 TLSv1 和 TLSv1.1 协议
- 2025 年 6 月 24 日 - Nginx 1.29.0 主线版发布,引入 Early Hints(103 状态码)支持,这是提升 Web 性能的又一重大特性
- 2026 年 4 月 14 日 - Nginx 1.30.0 稳定版发布,整合了 1.29.x 分支的所有新特性,如 Encrypted ClientHello(ECH) 加密、Multipath TCP(MPTCP) 支持、上游粘性会话(sticky sessions)等
- 2026 年 5 月 13 日 - Nginx 1.31.0 主线版发布,继续推进新功能开发
- 2026 年 7 月 15 日 - Nginx 1.30.4 稳定版和 1.31.3 主线版发布,修复了多项安全漏洞
使用场景
具体可划分为几个方向:
-
高性能 Web 服务器 - 这是 Nginx 最基础也是使用最广泛的应用场景。Nginx 在处理 Web 网站当中的静态资源(如 HTML、CSS、JavaScript、图片等)非常出色,远超 Apache httpd 等传统服务器。
-
反向代理服务器 - 可以作为客户端和后端服务器之间的中间层。Nginx 接收来自客户端的请求,然后将这些请求转发给内部网络上的后端服务器(如 Java、Python、PHP 应用服务器等),最后将后端服务器的响应返回给客户端。
- 提升安全性 - 客户端只与 Nginx 通信,无法直接接触到后端服务器,提升了安全性
- 统一入口 - 所有请求都通过 Nginx 进入,便于集中管理
-
负载均衡器 - 当网站流量增大时,需要多台后端服务器共同工作,而 Nginx 可以将客户端的请求按照一定的策略或规则(如轮询、加权轮询、IP 哈希、最小连接数等)分发到不同的后端服务器上。这样做的好处有:
- 有效分摊流量,避免单台服务器过载
- 提升后端服务器整体的并发能力与可用性
-
其他 - 如动静分离(将静态资源请求交由 Nginx 直接处理,而将 API 接口等动态资源请求转发给后端应用服务器,有效降低后端服务器的压力)以及邮件代理(支持 IMAP、POP3、SMTP 协议)
衍生项目
除了原版的 Nginx 之外,还有基于 Nginx 的其他衍生项目,如:
- OpenResty - 由章亦春发起的一个项目,是一个基于 Nginx 核心与 LuaJIT 的全功能 Web 平台
- FreeNginx - 由 Nginx 核心开发者 Maxim Dounin 于 2024 年 2 月创建的 Nginx 分支。Dounin 对 F5 公司(Nginx 的美国母公司)在项目管理上的过度干预感到不满,尤其是 F5 管理层在安全策略和 CVE 漏洞处理方式上与开发者存在严重分歧。Dounin 认为 F5 的 "非技术管理层" 正在干扰 Nginx 多年来使用的安全政策,无视开发者的立场,这让他无法继续在 F5 的管理下继续维护 Nginx 作为 "为公众利益开发和维护的自由开源项目"。因此,Dounin 决定分叉 Nginx 创建 FreeNginx,其核心理念是 "由开发者而非企业实体来运行项目,不受任意公司行为的影响"。FreeNginx 的第一个版本 freenginx-1.25.4 于 2024 年 2 月 20 日发布,此后一直保持活跃更新。由于 FreeNginx 与 Nginx 在发展理念上存在分歧(前者主要由核心开发者和社区主导,后者受制于商业公司),导致在发布版本的频率上远超原版 Nginx,在一些新特性新功能上线的时间上看,明显 FreeNginx 的速度也更加快
- Angie - 2022 年,部分俄罗斯 Nginx 开发者因 F5 退出俄罗斯市场而创建了 Angie 分支
Nginx、FreeNginx、Angie 三者的对比如下表所示:
| 对比维度 | Nginx | FreeNginx | Angie |
|---|---|---|---|
| 定位 | 由 F5 公司拥有的高性能 Web 服务器和反向代理,是行业标准 | 由 Nginx 核心开发者 Maxim Dounin 创建的分支,旨在保持 Nginx 作为自由开源项目的本质 | Nginx 的替代品,在原版 Nginx 的基础上拓展功能 |
| 创建时间 | 2004 年 10 月 4 日 | 2024年 2 月 20 日 | 2022 年 10 月 |
| 创建背景 | 为解决 C10K 高并发问题而开发 | 核心开发者与 F5 公司对项目的发展存在分歧 | F5 退出俄罗斯市场后,部分俄罗斯开发者为支持当地用户而创建 |
| 所有权与治理 | 由美国公司 F5 拥有和主导,决策受商业策略影响 | 由核心开发者 Maxim Dounin 和社区主导,强调开发者自治,不受商业公司影响 | 前 Nginx 开发者组成的团队进行维护与治理 |
| 开发节奏 | 相对稳定和保守,每年发布一个新的稳定版 | 非常快 | 规律且活跃,每季度发布一个新版本 |
| 核心优势 | 久经考验的稳定性、庞大的用户基础、丰富的文档和第三方模块生态 | 纯粹的开发者主导模式,快速引入新特性,坚守开源初心 | 提供超越原版 Nginx 的增强特性,并作为商业版 Angie PRO 的基础 |









