庆祝 NGINX 推出 21 周年:Nginx发展史
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
本世纪初,NGINX 应运而生,塑造了我们今天所熟知的互联网结构。NGINX 的早期用户亲自见证了最初为解决 C10K 问题而打造的一套开源工具逐渐发展成为现代 Web 基础设施的基石。 2024 年 10 月 4 日是 NGINX 首次公开发布的 20 周年纪念日。为何是 10 月 4 日?为了向太空探索致敬,NGINX 创始人 Igor Sysoev 将重要历史事件节点作为其产品的发布里程碑。因此,您会在 NGINX 的时间轴上看到 4 月 12 日与 10 月 4 日的主题内容重复。 本文将带您了解 NGINX 的历史、我们的项目和产品以及我们迄今所取得的辉煌成就。下面我们先回到 NGINX 诞生之前,了解其历史起源…… NGINX 的起源 二十世纪 90 年代,Igor Sysoev 成为了计算机系统编程领域的知名工程师。他开发了多款产品,包括一套杀毒工具,后又在本世纪初转投 Web 工程领域。NGINX 的最初构想萌生于 2002 年。当时,Igor 在一家大型互联网公司工作,并开始注意到他们的 Apache Web 服务器无法处理大量连接。互联网正处于爆炸式增长阶段,许多系统很难解决 C10K 问题,即如何处理超过 10,000 个并发连接。 经过构思创意和反复实验,Igor 试图通过 Apache 模块来提高其性能。他起初曾尝试改进 mod_proxy,但很快意识到最好创建一个新模块。2001 年春季,Igor 创建了 mod_accel。在此过程中,他还改进了其他几个 Apache 模块。 Igor Sysoev 评估 C10K 问题 在接下来的一年里,Igor 继续评估 C10K 问题以及优化处理大量并发客户端的方法。他开始尝试各种操作系统效率机制,并于 2002 年着手开发其自己的新软件 NGINX。 在 NGINX 诞生之初,Igor 使用新的子系统为 Unix 中启用的事件创建异步事件循环,以处理 HTTP 请求。为了最大限度地提高可移植性,他使用 C 语言进行编码,并为一些本地项目安装了该软件的预生产版本。该软件立即展现出比 Apache 更高的性能。 2003 年下半年,NGINX 的首个工作原型诞生。其大部分架构设计和主要功能模块均已完成,并开始在支持的网站上进行试点部署。 NGINX 的首次公开发布 NGINX 于 2004 年 10 月 4 日对外公布,恰逢第一颗人造卫星发射 47 周年。 起初,市场营销靠的是口口相传。工程师和系统管理员(当时尚无“DevOps”一词)彼此分享了这个新发现的软件,并立即让高负载系统实现了大幅性能提升。 NGINX 的初始部署 NGINX 最典型的部署方式是安装在托管 PHP 或其他脚本的 Apache 服务器前面。NGINX 提供静态文件,并代理和缓冲应用服务器的动态内容。高效的事件循环支持在同一台服务器上利用数十万个慢速连接,达到了前所未有的数量规模。 在 2005 年至 2006 年期间,HTTP 和应用级代理、负载均衡、脚本、配置及事件处理均得以改进。NGINX 社区也初具雏形。互联网中继聊天 (IRC) 上的 #nginx 是 NGINX 用户和开发人员的社区支持渠道,提供了一个开展协作和排除故障的空间。 NGINX 变得适合生产使用 2007 年,人们普遍认为 NGINX 适合生产使用,其采用率持续增长。Igor 及其他贡献者增添了缓存和改进的 DNS 支持等重要功能。在随后的几年中,NGINX 被部署到许多美国初创公司,例如 Bak、Dropbox、Justin.tv、Facebook、WordPress、Zappos、Scribd、Slideshare、LinkedIn 和 Mochimedia。 NGINX 备受追捧,办事处陆续设立 在 2009 年至 2010 年期间,NGINX 在开源社区中日益受到追捧。2011 年 4 月 12 日,正值人类首次进入太空 50 周年之际,NGINX 1.0.0 正式发布。随后,Igor 决定成立 NGINX 公司,并明确了软件开发结构。他在莫斯科开设了第一家办事处,后来又扩展到加利福尼亚州的旧金山。 最初,NGINX 公司专注于 NGINX 的持续开发,同时为一些大型互联网公司提供专业服务和支持。第一批美国员工开始忙于投资、销售及营销工作,俄罗斯的工程师则负责研究软件、支持和服务。2011 年 10 月,NGINX 公司宣布获得 A 轮融资,第一家客户 Netflix 开始使用其服务。 发布首款商用产品 随着时间的推移,NGINX 团队发现,较之静态 Web 服务,流量管理软件更有可能获得商业成功。2013 年,NGINX 发布了其首款商用产品 NGINX Plus。此商业版本主要提供了负载均衡增强功能、动态配置和监控等客户最需要的功能。与此同时,开源内核开发团队致力于让社区和第三方开发人员参与到 NGINX 和 NGINX Plus 动态加载模块的编写中。 在推出首个商业版本时,我们确保基本功能保持开放状态,并保障免费版 NGINX 不会出现性能下降。我们主要是将流量管理和监控功能指定为商业功能,允许开源用户继续使用他们的 NGINX 版本,将其扩展到任何项目规模,并按需进行修改。因此,一些开源用户开发了自己的 NGINX 分支,另一些用户则构建了全新的项目和生态系统。 NGINX 持续扩展 2014 年,NGINX 获得了 B 轮融资,并迅速扩大了旧金山总部和区域办事处。在此期间,销售和营销团队从最初的几名员工发展成为了一家结构合理的初创公司。与此同时,工程团队将其工作重点从支持单个产品转向了建立多产品公司。 宣布推出新产品和主要功能 在这五年中,NGINX 宣布推出了多款新产品和一系列主要功能: 2016 年 3 月 9 日:NGINX Ingress Controller 2017 年 9 月 6 日:NGINX Unit 随着动态可扩展性成为更多 NGINX 用户的标准要求,业界显然需要革新服务器配置方法并减少应用内部流量处理层。Igor Sysoev 开始开发新的服务器内核,并最终推出了全新动态配置 Web 和应用服务器 NGINX Unit。在推出时,NGINX Unit 仅支持以 PHP、Python 和 Go 语言运行应用,但不久就扩展到了一系列应用语言和框架。 NGINX 实现进一步增长 这些产品和功能标志着 NGINX 进入了一个关键扩张期。2017 年 2 月,随着投资的不断注入和业务的持续增长,我们在爱尔兰科克设立了区域销售和工程办事处,并由爱尔兰总理 Enda Kenny 正式揭牌。继成立欧洲总部之后,NGINX 又在新加坡和悉尼设立了分支机构,进一步扩大了全球布局。 随着 2018 年 6 月获得 C 轮融资,我们加快践行使命,帮助企业采用微服务并革新应用开发方法。 NGINX 被 F5 公司收购 2019 年 3 月,F5 宣布收购 NGINX,并于同年 5 月完成了收购工作。NGINX 的历史由此翻开了崭新篇章。为了将 NGINX 解决方案集成到 F5 的生态系统中,我们的小型初创团队做了大量工作。在此期间,NGINX 将其软件产品扩展到了 F5 的客户群中,同时许多 F5 工程师了解了 NGINX 并转为 NGINX 专职开发人员。 NGINX 工程部门开始更加注重管理平面工具和产品,发布了一系列用于应用交付、API 管理和安全防护的工具。很多此类工具可在 F5 的产品组合中找到。 与此同时,NGINX 的可编程功能持续扩展,njs 模块也得到了重大改进。2021 年,新增的 Async/Await 和 Fetch API 为开发人员提供了更大的灵活性和控制力。 增添了 HTTP/3 支持 在内核开发方面,开发 HTTP/3 支持堪称又一重要里程碑。实施新版 HTTP 协议和开发基于 UDP 的新传输层 (QUIC) 需要我们的工程师投入大量精力。不过,得益于 NGINX 内核的多功能性,我们无需重新设计服务器。在开发分支中进行了长期的技术预览之后,HTTP/3 官方版本于 2023 年 5 月 23 日发布。 NGINX 达成的新里程碑 这一切让 NGINX 取得了今日的辉煌成就!2024 年 9 月,原有项目(现称为 NGINX 开源版)迁移至 GitHub。此次迁移后,NGINX 现在可以通过 Pull Request 接受贡献,并使用 Issues 选项卡跟踪错误报告、功能请求及增强建议。 在商业方面,F5 还于 2024 年 9 月推出了统一的 SaaS 解决方案 NGINX One,它具备 NGINX 的核心功能,可确保现代应用和 API 的安全性、可用性、可观测性及可扩展性。此新版本将高级负载均衡、应用服务器功能、API 管理及安全防护功能整合到单个管理界面中,有助于轻松管理 NGINX 开源版和 NGINX Plus 实例。 所有这些里程碑式成就都离不开我们社区用户和贡献者的大力支持。砥砺前行二十载,感谢有你,风雨与共! 阅读原文:原文链接 该文章在 2025/12/31 9:43:54 编辑过 |
关键字查询
相关文章
正在查询... |