Web服务器一般指网站服务器。是指驻留于因特网上某种类型计算机的程序。可以向浏览器等Web客户端提供文档。你可以放置网站文件。让全世界浏览;可以放置数据文件。让全世界下载。目前最主流的三个Web服务器是Apache Nginx IIS。那么WEB服务器如何选择 Apache or Nginx?
1.简介
Apache:
Apache创建于1995年。并从 1999 年开始在 Apache 软件基金会旗下进行开发。Apache灵活。高效。拥有丰富的扩展模块。以及活跃的社区支持。成为目前世界上最为主流的开源免费的Web服务器软件。
Nginx:
Nginx是由俄罗斯软件工程师Igor Sysoev编写的免费开源Web服务器。自从2004年上市以来。nginx专注于高性能。高并发性和低内存使用。并且其在负载均衡。缓存。访问和带宽控制以及与各种应用程序高效集成等方面的特性。都使得它逐步深受广大用户青睐。
2.对比
虽然Apache和Nginx各自的背景不同。但他们的作用目的是一致的。简单说就是接收用户请求。然后处理请求。最后将处理结果返回给用户。
01.链接处理
Apache和Nginx最大的不同在于它们对连接的处理方式。Apache提供一系列多重处理模块。通过这些多重处理模块来使用操作系统的资源。对进程和线程池进行管理。控制处理用户请求。
Apache提供了三种多重处理模块:mpm_prefork。mpm_worker。mpm_envent。下面我们做简要说明对比。
mpm_prefork:模块产生众多子进程。每个子进程是单线程的。每个线程链接一个请求。如此一对一的关系。所以如果请求数大于进程数时。服务器的性能就表现得差强人意了。
mpm_worker:与prefork不同。worker中子进程是多线程的。每个线程管理一个用户连接。线程数要多于进程数量。这也就意味着新的连接能立刻得到一个空闲的线程。而不用等待进程空闲。
mpm_event:该模块与worker相似。区别在于event可以处理长连接(keep-alive)。以避免线程被请求长期占用而造成资源浪费。同时也增强了高并发场景下的请求处理能力。
02.静态与动态内容的处理
无论是静态还是动态内容。Apache都可以处理。Apache具有内置的解析和执行各种动态脚本语言(包括PHP。Python和Perl)的功能。无需借助外部处理器。
毫无疑问。动态内容处理恐怕是Nginx的痛点。Nginx处理动态内容的效率并不高,且需借助外部的处理器。所以如果您的站点具有很多动态功能。Apache的表现可能会更切合你意。不过虽然与Apache相比Nginx的动态内容处理能力不佳。但其静态内容处理还是很高效的。
3.总结
Apache拥有丰富的模块组件支持。稳定性强。BUG少。动态内容处理强。
Nginx轻量级。占用资源少。负载均衡。高并发处理强。静态内容处理高效。
以上就是小编对于WEB服务器还选择 Apache 还是 Nginx的解答。
本文地址:https://gpu.xuandashi.com/41469.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!