NGINX和Apache是互联网上最流行和最受好评的两种开源Web服务器技术。我经常遇到第一手资料,即关于哪个网站优于另一个网站以及根据网站要求最适合哪个网站的争论一直在进行。

我忘了读者发表了多少关于NGINX和Apache比较的评论。曾经有一段时间,Apache抛弃了其他服务器,并主导了开源Web服务器行业的四分之一。尽管NGINX像风暴一样接管了互联网,但它仍然是最有力的竞争者之一,Apache的销售额已削减了一半。

从那时起,两者之间一直存在竞争,这在用户之间引起了很多混乱。了解哪种Web服务器是您的正确选择至关重要。在本文中,我决定尽我所能,缩小范围,将NGINX或Apache证明是适合您站点的最佳服务器。

事不宜迟,让我们开始做生意。

为什么从这两者中选出最好的是重要的,为什么首先还要进行比较。

多年来,人们一直问同样的问题。您使用哪个Web服务器(NGINX或Apache)?

互联网上提供的总流量中有超过50%是由于这两个候选者造成的。它们是市场上最流行和最常见的开源Web服务器。

两者在可靠性方面都很有效,因此像您和我这样的用户容易陷入困境。我敢肯定,您经常会思考要在哪个提供商处托管您的网站。同样,您也有权决定您的站点将在哪个Web服务器上运行。

NGINX和Apache都不是完美的,一个优于另一个则完全取决于您的网站要求。

了解Apache和NGINX

Apache HTTP Web服务器由Apache Software Foundation管理。Apache遵守最新的安全标准,并遵守正在进行的HTTP规范。自1995年以来,它就开始从事这项业务,并且一直是有史以来最受欢迎的Web服务器技术。

它为网站所有者提供了惊人的功能,您可以添加各种模块,无论是官方模块还是非官方模块,都可以访问Apache的最佳性能。

另一方面,NGINX的建立较新,因此更加现代化。它的设计方式是一次可以服务大量连接。NGINX成立于2004年,在短短的十年间,它已经与Apache形成了激烈的竞争,Apache已经存在了将近25年。

现在让我们从功能,安全性和灵活性方面比较Apache

功能性

Apache已经存在了很长时间,仍然被许多最重要的Web开发人员视为首选。关于Apache的最好的事情是,它在用户喜欢的任何操作系统下都能出色地运行。

在速度方面,它落后于NGINX,因为根据长期运行的多项测试,事实证明NGINX的速度是Apache的3倍。当Apache同时服务一百多个连接时,与NGINX相比,它倾向于占用更多的存储空间。

尽管Apache较老且有效,但NGINX毫无疑问在性能和速度上都更加优越。它被开发为可同时服务多达10,000个连接的解决方案,而在NGINX启用之前,其他Web服务器技术都无法做到。

安全

安全是不可妥协的,尤其是在这方面的专业知识。值得庆幸的是,Apache和NGINX的开发人员都保持了极好的安全标准,两家公司都了解为服务器上的每个用户提供最大程度的省心是多么重要。

该安全性基于C语言代码运行,并且由于Apache较旧,因此是一个更有经验的竞争者,因此与NGINX相比,它没有更大的代码库。Apache还比NGINX更专业地处理DDoS等攻击。

我认为很明显,Apache在安全性方面承担了重任。

灵活性

与NGINX使用事件驱动技术来管理客户端请求不同,Apache更倾向于采用多线程方法。NGINX处理更多客户的方法是有效的。

Apache使用动态内容,这意味着它动态地加载和卸载模块。就模块而言,NGINX并不那么灵活。虽然,NGINX完全能够像Apache一样部署为单独的Web服务器。

最终裁决

如文章所述,Apache和NGINX都是高级Web服务器。正确的选择取决于您的网站要求。如果您正在寻找一种可以同时为数千个连接提供服务而又没有太多滞后的Web服务器,那么NGINX是首选。它比Apache更快,并且一次可处理更多用户。

但是,如果您完全不关心速度和连接级别,那么Apache将是您网站的理想之选,因为它更加安全和灵活。