Nginx基础篇01 — 介绍

概述

本章,您将了解到 Nginx 的基本内容。

Nginx:一款高性能的开源 Web 服务器程序,同时也提供反向代理、负载均衡、内容缓存、邮件代理等多种功能,其最早版本 0.1.0 由创始人 伊戈尔·赛索耶夫 开发并诞生于 2004 年 10 月 4 日,初衷是为了解决当时俄罗斯门户网站 Rambler.ru 面临的 C10K (Concurrent 10000 Connections)问题,也就是高并发访问的挑战。

Nginx 的主要特点有:

  • 轻量化 - 占用内存低;
  • 高性能 - 处理高并发能力强;
  • 模块化设计 - 高拓展,企业可根据自己的需求添加模块;
  • 支持热部署平滑更新 - 在不断开 Web 服务的情况下对软件的版本进行更新,而这一切对于客户端访问来说无任何感知;
  • 高可靠性 - 可满足 7*24 小时不间断的工作,连续运行数个月都不需要重启。

相关信息:

版本号说明

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 的基础
Avatar photo

关于 陸風睿

GNU/Linux 从业者、开源爱好者、技术钻研者,撰写文档既是兴趣也是工作内容之一。Q - "281957576";WeChat - "jiulongxiaotianci",Github - https://github.com/jimcat8
用一杯咖啡支持我们,我们的每一篇[文档]都经过实际操作和精心打磨,而不是简单地从网上复制粘贴。期间投入了大量心血,只为能够真正帮助到您。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇