|
|
| 第1行: |
第1行: |
| {| class="infobox" style="border:1px solid #ccc; background:#f8f9fa; width:24em; float:right; margin:0 0 1em 1em; border-spacing:5px;"
| | #REDIRECT [[GoodPlanCraftLauncher]] |
| ! colspan="2" style="text-align:center;" |'''Nginx'''
| |
| |-
| |
| |中文名
| |
| |'''Nginx'''
| |
| |-
| |
| |英文名
| |
| |'''Nginx'''
| |
| |-
| |
| |其他名称
| |
| |'''engine x'''
| |
| |-
| |
| |开发者
| |
| |'''Igor Sysoev'''<ref name=":0">[https://yisuapi.yisu.com/ Nginx官网]</ref>,[[F5公司|F5, Inc.]]<ref name=":1">[https://graphsearch.epfl.ch/ Nginx: EPFL Graph Search]</ref>
| |
| |-
| |
| |首次发布
| |
| |'''2004年10月4日'''<ref name=":2">[https://cloud.tencent.com.cn/ Nginx基本介绍]</ref>
| |
| |-
| |
| |编程语言
| |
| |'''C'''<ref name=":0" />
| |
| |-
| |
| |操作系统
| |
| |'''跨平台'''<ref name=":0" />
| |
| |-
| |
| |类型
| |
| |'''Web服务器、反向代理、负载均衡器'''
| |
| |-
| |
| |许可证
| |
| |'''BSD类许可证'''<ref name=":2" />
| |
| |-
| |
| |网站
| |
| |'''[https://nginx.org nginx.org]'''
| |
| |}
| |
| '''Nginx'''(读作“engine x”)是一款高性能的开源[[Web服务器]]软件,同时也可作为[[反向代理]]服务器、[[负载均衡]]器和[[HTTP]]缓存工具使用<ref name=":2" />。其最初由[[俄罗斯]]工程师Igor Sysoev为解决[[C10k problem|C10k问题]](即同时处理一万个并发连接的难题)而开发,旨在满足当时俄罗斯高流量网站[[Rambler.ru]]的访问需求<ref name=":3">[https://docs.rocky-linux.cn/ Web服务器 Nginx]</ref><ref name=":1" />。Nginx以其事件驱动的异步非阻塞架构闻名,在高并发场景下能够保持低内存占用和高稳定性,已成为驱动全球互联网流量的核心基础设施之一<ref name=":4">[https://www.freecodecamp.org/ NGINX完全手册]</ref>。
| |
| | |
| == 历史 ==
| |
| | |
| === 早期发展 ===
| |
| Nginx的开发工作始于2002年,由Igor Sysoev在业余时间进行。2004年10月4日,第一个公开版本0.1.0正式发布,源代码以类BSD许可证的形式开放<ref name=":2" />。早期版本主要专注于解决Web服务器的[[C10k problem|C10k问题]],即如何高效处理大量并发连接<ref name=":5">[https://www.miralishahidi.ir/ Nginx History]</ref>。到2008年9月,Nginx已为Rambler搜索门户每日处理超过5亿个请求<ref name=":5" />。
| |
| | |
| === 商业化与收购 ===
| |
| 2011年,Igor Sysoev与[[美国]]企业家Gus Robertson共同创立了Nginx公司(Nginx, Inc.),为企业用户提供商业支持和商业版本Nginx Plus<ref name=":2" />。2019年3月,应用交付网络巨头[[F5公司|F5, Inc.]]以约6.7亿美元的价格收购了Nginx公司<ref name=":1" />,这一收购旨在将Nginx的软件负载均衡能力与F5的硬件产品线整合,以增强其在多云应用服务领域的竞争力。
| |
| | |
| == 核心功能 ==
| |
| | |
| === Web服务 ===
| |
| 作为Web服务器,Nginx在处理静态文件(如HTML、图片、CSS和JavaScript)方面性能尤为突出,被证明比传统的[[Apache HTTP Server|Apache服务器]]快三倍以上<ref name=":6">[https://cloud.tencent.cn/ Nginx和Apache区别]</ref>。通过sendfile等系统调用优化,Nginx能零拷贝地将文件从磁盘发送到网络套接字,极大地提高了静态内容的交付效率。
| |
| | |
| === 反向代理与负载均衡 ===
| |
| Nginx可作为反向代理服务器,接收客户端请求并将其转发至一个或多个后端服务器<ref name=":7">[https://developer.baidu.com/ NGINX技术全解析]</ref>。在反向代理模式下,Nginx支持多种负载均衡算法,包括:
| |
| | |
| * **轮询(Round Robin)**:按顺序将请求分发到后端服务器。
| |
| * **权重(Weight)**:为性能更强的服务器分配更高权重,使其处理更多请求。
| |
| * **IP哈希(IP Hash)**:确保来自同一客户端的请求始终被发送到同一台后端服务器,用于会话保持。
| |
| | |
| === HTTP缓存 ===
| |
| Nginx具备强大的缓存功能,能够缓存后端服务器(如[[Apache HTTP Server|Apache]]或[[Tomcat]])生成的动态内容<ref name=":7" />。通过配置缓存键和过期策略,Nginx可以大幅减轻后端应用服务器的压力,显著提升用户端的响应速度。
| |
| | |
| === 架构特性 ===
| |
| Nginx采用**master-worker**多进程架构<ref name=":8">[https://developer.baidu.com/ Nginx进阶指南]</ref>。master进程负责读取配置、绑定端口和监控worker进程;worker进程则基于epoll(Linux)或kqueue(BSD系统)等事件驱动模型,每个worker可以异步处理数千甚至数万个并发连接。这种事件驱动的异步非阻塞模型是Nginx能够高效处理高并发请求的关键<ref name=":8" />。
| |
| | |
| === 模块化设计 ===
| |
| Nginx的核心功能非常精简,大部分功能是通过模块(Modules)来扩展的。从1.9.11版本(2015年底)开始,Nginx官方支持动态模块加载(load_module指令)<ref name=":9">[https://www.php.cn/ Nginx架构设计进化]</ref>,允许在不重新编译整个二进制文件的情况下添加或更新第三方模块。
| |
| | |
| == 版本与分支 ==
| |
| | |
| === 开源版本 ===
| |
| Nginx开源版本分为两个分支:
| |
| | |
| * **Mainline version (主线版本)**:包含最新功能和改进,但可能含有尚未完全稳定的新代码。
| |
| * **Stable version (稳定版本)**:基于主线版本分支出来,经过更充分的测试,适用于生产环境。
| |
| | |
| === Nginx Plus(商业版本) ===
| |
| Nginx Plus是F5提供的商业版本,在开源版本基础上增加了额外的企业级功能,包括:
| |
| | |
| * 高级负载均衡算法(如最少连接数、一致性哈希)。
| |
| * 健康检查和主动监控。
| |
| * 基于JSON的实时监控仪表板(live activity monitoring dashboard)。
| |
| * 针对Kubernetes和微服务架构的强化支持。
| |
| | |
| === OpenResty(第三方分支) ===
| |
| OpenResty是一个基于Nginx与LuaJIT的Web平台,由中国的章亦春(agentzh)创建并维护<ref name=":10">[https://gitee.com/ OpenResty简介]</ref>。它将大量Lua库集成到Nginx中,使开发者能够直接在Nginx内部使用Lua脚本编写业务逻辑,极大地扩展了Nginx的可编程性。
| |
| | |
| == 市场地位 ==
| |
| Nginx是全球市场份额最大的Web服务器之一。根据Netcraft在2023年的Web服务器调查,Nginx以38.88%的市场份额位列第一,显著领先于[[Apache HTTP Server|Apache]]的27.02%和[[Microsoft IIS|Microsoft-IIS]]的9.99%<ref name=":11">[https://www.netcraft.com/ April 2023 Web Server Survey]</ref>。另一家分析机构W3Techs的统计数据则显示Nginx的市场份额约为34%,同样位居榜首<ref name=":12">[https://www.w3techs.com/ Historical quarterly trends in usage statistics of web servers]</ref>。
| |
| | |
| == 参考文献 ==
| |
| <references />
| |