AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

Nginx 何时取代 Apache?

  • 2016-11-14
  • 本文字数:1553 字

    阅读完需:约 5 分钟

Nginx 和 Apache 都是流行的开源 Web 服务器。Apache 是世界使用排名第一的 Web 服务器软件,是 Apache 软件基金会的一个开源 Web 服务器,几乎所有的计算机平台都可以运行,由于其开放的 API 接口,使得 Apache 有超多的模块,基本想到的都可以找到;加之历史悠久,因此相关文档齐全,因此,长期雄踞 Web 服务器市场的巅峰。

而 Nginx 最初是俄罗斯程序员 Igor Sysoev 开发的轻量级开源 Web 服务器,同时也是一个反向代理服务器和电子邮件代理服务器,并在一个 BSD-like 协议下发行。

Apache 是顶级的 Web 服务器,但是 Nginx 持续增长,而 Microsoft IIS 几十年来首次下降到 10%以下。

用户自然会关心,Nginx 会不会取代 Apache,以及何时能取代 Apache?Nginx 首席执行官 Gus Robertson 近日就表示,这两者的使用场景并不同,并不存在谁取代谁的问题。

Nginx 已经成为第二大 Web 服务器。它很久以前就超越了微软的 Internet Information Services(IIS),长期以来,它一直逼近顶级 Web 服务器 Apache 。但是,Nginx 首席执行官 Gus Roberston 在接受采访时表示,Apache 和 Nginx 的用户范围并不相同。

Robertson 表示:“我认为 Apache 是一个卓越的 Web 服务器。但 Nginx 和它不是一个相同的使用案例。我们不认为 Apache 是一个竞争对手,我们的客户使用 Nginx 来替换硬件负载均衡和构建微服务,这两者都不是 Apache 干的事。”

事实上,Roberston 发现许多用户同时使用两个开源 Web 服务器,他说,客户在 Apache 的前端使用 Nginx 进行负载平衡和应用,它们的架构完全不同,可以提供更好的并发性能。他还表示,在云配置方面,Nginx 表现会更好。

Roberston 总结道:“我们(Nginx)是唯一仍在增长的 Web 服务器,而其他 Web 服务器正在萎缩。”

然而这不是事实。根据 10 月份 Netcraft 的 Web 服务器调查,Apache 本月活跃网站增长最多,获得 180 万;而 Nginx 增长 40 万,仅次于 Apache。

这些增长,加上微软损失的 120 万活跃网站,导致微软的活跃网站份额下降到 9.27%,首次跌至 10%以下。Apache 在市场份额提高了 0.19%,并继续占据主导地位,现在拥有 46.30%的活跃网站。尽管如此,多年来 Apache 一直在慢慢下降,而 Nginx 现在只有 19%。

目前,Nginx 的开发人员正在继续改进开放核心商业网络服务器 Nginx Plus ,以求提高其竞争力。Web 服务器使用最新版本的 Nginx Plus Release 11(R11),更易于扩展和自定义,并支持更广泛的部署。

最大的提升是动态模块(dynamic modules)的二进制兼容性。这意味着为开源Nginx 软件编译的动态模块可以加载到Nginx Plus 中。

还意味着开发人员可以利用大量的第三方Nginx 模块来扩展和添加功能到Nginx Plus,从一系列开源模块到商业模块。开发人员可以基于支持的Nginx Plus 核心创建自定义扩展、附加组件和新产品。

Nginx Plus R11 还增加了其他增强功能:

  • 改进的 TCP/UDP 负载平衡:新功能包括 SSL 服务器名称路由、新的日志功能、附加变量和改进的 Proxy 协议支持。这些新功能增强了调试功能,使开发者能够支持更广泛的企业应用程序。
  • 通过 IP 地址更好地进行地理定位:第三方 GeoIP2 模块现已通过认证,并提供给 Nginx Plus 客户。相比原始 GeoIP 模块,新版本提供了更为本地化和更丰富的位置详细信息。
  • 增强的 nginScript 模块:nginScript 是基于 JavaScript 的 Nginx Plus 的下一代配置语言。开发者能使用新功能在 Stream(TCP/UDP)模块中即时修改请求和响应数据。

可以预见的是,在这场旷日持久的角逐顶级 Web 服务器的战争中,Nginx 会同 Apache 进行激烈的竞争。而微软的 IIS,则继续缓慢地衰落,走向消亡。


感谢陈兴璐对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-11-14 18:006853
用户头像

发布了 375 篇内容, 共 195.9 次阅读, 收获喜欢 947 次。

关注

评论

发布
暂无评论
发现更多内容

网站开发进阶(二十六)JavaScript 实现页面刷新方法汇总

No Silver Bullet

JavaScript 页面刷新 5月月更

闲置计费 | Serverless 冷启动与成本间的最优解

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

MySQL存储过程批量生成假用户电话号码

芝士味的椒盐

MySQL MySQL 数据库 5月月更

Nacos源码系列—关于服务注册的那些事

牧小农

源码 nacos

MongoDB 入门教程系列之三:使用 Restful API 操作 MongoDB

汪子熙

数据库 mongodb 分布式数据库 分布式数据库mongodb 5月月更

用户行为分析模型实践(二)—— 漏斗分析模型

vivo互联网技术

大数据 数据分析 Clickhouse

喜报!阿里云首个通过应用多活“先进级”能力评估

阿里巴巴云原生

阿里云 云原生 应用多活

Docker下的Spring Cloud三部曲之一:极速体验

程序员欣宸

Java Spring Cloud 5月月更

《对线面试官》Java注解

Java3y

Java 程序员 面试 编程语言 5月月更

聊聊 Kafka:Kafka 消息丢失的场景以及最佳实践

老周聊架构

kafka 4月月更 5月月更

Nginx 如何将所有 HTTP 的流量转移到 HTTPS

HoneyMoose

【Go实现】实践GoF的23种设计模式:建造者模式

元闰子

Go 设计模式 建造者模式

MongoDB 入门教程系列之二:使用 Spring Boot 操作 MongoDB

汪子熙

node.js 数据库 mongodb 分布式数据库 5月月更

2021-6-1【利用指针方法求数组的最大值和最小值】

爱好编程进阶

Java 程序员 后端开发

2个不同的对象集合如何取交集和差集

爱好编程进阶

Java 程序员 后端开发

CleanMyMac2022免费版Mac电脑清理软件功能

茶色酒

CleanMyMac2022 CleanMyMac

聊聊 C 语言和 ABAP 这两门编程语言的关系

汪子熙

编程语言 C语言 SAP abap 5月月更

15-拦截器

爱好编程进阶

Java 程序员 后端开发

320000字2021春招高频面试真题汇总

爱好编程进阶

Java 程序员 后端开发

时序数据库在水电站领域的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

虎符交易所上线量化网格交易 同步开启活动三重奏

区块链前沿News

活动 虎符交易所

从零构建物联网平台-给个理由先

老任物联网杂谈

物联网平台

10-2 5-2 查询至少生产两种不同的计算机(PC或便携式电脑)且机器速度至少为133的厂商 (20 分)(思路加详解+测试用例

爱好编程进阶

程序员 后端开发

Django Model 如何返回空的 QuerySet

AlwaysBeta

django

python进阶-迭代器和生成器

AIWeker

Python 人工智能 5月月更

Flutter/Dart:生成最小值和最大值之间的随机数

坚果

5月月更

IntelliJ IDEA 如何增加运行时候的内存

HoneyMoose

C语言_Linux基本命令与C语言基础

DS小龙哥

5月月更

SpringSecurity认证流程分析

急需上岸的小谢

5月月更

2021 年最新版 68道Redis面试题,20000字,赶紧收藏起来备用

爱好编程进阶

Java 程序员 后端开发

无需修改代码,用 fcapp.run 运行你的 REST 应用

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

Nginx何时取代Apache?_开源_刘志勇_InfoQ精选文章