- 《架构师》2016年12月
- InfoQ中文站
- 4字
- 2020-06-26 06:05:37
观点 | Opinion
Nginx何时取代Apache
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,则继续缓慢地衰落,走向消亡。