当前位置: 首页 > 科技观察

HowtoChooseaLinuxWebServer-Nginxvs.Apache_0

时间:2023-03-12 10:28:47 科技观察

【精选译文】Nginx的人气急速攀升和Apache在Web服务器市场份额的稳步下降引发了很多从业者的猜测,认为这一趋势将使新的部署流程方案选择在变得更加清晰。事实上,我最近碰巧在处理大型服务器设置,最终我选择了Nginx作为我的首选工具——但我做出了正确的选择吗?从目前的情况来看,互联网与阿帕奇的甜蜜关系似乎已经破裂,这意味着统治这片大陆十年的王者终于开始出现疲态。虽然Apache仍然支持世界上大部分的网站,但Nginx(engine-x)在过去几年一直在蚕食前者的市场份额。Nginx凭借其事件驱动设计,超越了Apache的进程驱动设计,成为更适合当前计算机硬件条件的高人气解决方案。从结果来看,在一定情况下,Nginx在支持的客户端并发数和相同硬件上更高的数据吞吐量上可以超越Apache。但是你不应该简单地以此为标准,我们还应该考虑我们在服务器设备上做了什么。Nginx在处理静态内容上有优势,执行效率比Apache高,但是Apache处理静态内容的速度也不慢。静态内容对于任何一种网络服务器来说都是最容易处理的项目,因此高流量站点往往会使用更复杂的后台系统来生成静态内容,以更快更全面地满足用户需求。但是PHP的介入,给这个过程带来了更多的困难。最重要的问题是当我们选择一个网络服务器设置方案时,最重要的问题是弄清楚我们将如何使用这个服务器。如果你只需要用它来支持单个站点,而这台服务器运行着一套独立的数据库系统专门作为web服务器,那么选择Nginx无疑是更明智的——毕竟Nginx在性能上比Apache高流量处理能力方面。除此之外,Nginx本身提供配置功能,从而在必要时以比Apache更简单的方式实现扩展,这是另一个优势。但是如果你打算在这台服务器上托管多个站点和大量的应用程序,比如多个Wordpress站点,那么答案就不那么明确了。在这种情况下,性能瓶颈可能更多地来自PHP,而不是特定的Web服务器选择。面对这种情况,您可能会这样想:好吧,如果PHP对于这两种类型的Web服务器来说都是一个问题,而Nginx处理静态文件的速度更快,为什么不直接选择Nginx?之所以纠结,是因为Apache有自己独特的优势。它是一个成熟的平台,在Linux领域拥有相当广泛的支持计划。很多在Apache中可以直接使用的功能,在Nginx上可能需要仔细研究和配置。许多控制平台和自动化配置工具在Nginx中尚不可用,您的技术团队可能更熟悉Apache并擅长诊断问题。这些都是需要仔细考虑的重要优势。大多数情况下,Nginx带来的性能提升其实可以忽略不计。除非需要承载数十亿级的海量站点,否则流量优势基本难以实现。大家要以实际需求和已有的技能储备作为主要参考因素。如果我们想在自己的个人博客上将一项新技术作为一种学习实践,我们可以毫无问题地选择自己喜欢的一套平台。如果您正在设置托管服务器或关键业务应用程序,您最好仔细查看您的选项。仅仅为了速度而将所有的工作都交给Nginx,显然很容易造成严重的后果。最后,最好的策略是结合不同的技术,而不是简单地依赖于单一的Web服务器平台。需要处理大量流量的站点需要多层架构,而Web服务器只是这个综合系统的一小部分。大多数通用站点应优先考虑技术人员更熟悉的解决方案,并对需要注意的特定类型的性能进行并排比较。Apache仍然是一个优秀的引擎,并保持着很高的知名度。随着Nginx的不断发展和成熟,Nginx将在未来五年内逐步完善甚至超越Apache。要在两者之间进行选择,正确的答案是视情况而定。如果你打算托管一个非常常见的站点场景,比如Wordpress,我认为这两套解决方案都能带来出色的性能。使用Nginx(推荐)缓存站点内容可以实现性能提升,但这也意味着牺牲了Apache在开箱即用、兼容性和低学习曲线方面的优势。如果您需要运行PHP应用程序,那么使用APC等操作码缓存机制将提供比在两个Web服务器之间挣扎更高的改进。我的观点是,Nginx并不是包治百病的灵丹妙药。仅仅因为Apache很旧而且不像新一代Nginx那样酷而做出简单的选择往往最终会给你带来麻烦。英文:http://www.itworld.com/consumerization-it/421347/choosing-linux-web-server-nginx-vs-apache?source=ITWNLE_nlt_today_2014-06-03