WEB服务器该选择 Apache 还是 Nginx?

admin3年前服务器92

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的解答。

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

提高WEB服务器安全,要做好这些事

提高WEB服务器安全,要做好这些事。Web服务器安全隐患依然是IT部门最关注的难题之一,由于近期高发的互联网攻击已被证实。因为存有代管隐秘数据,Web服务器是一个机构中最非常容易被网络黑客对于攻击的地...

一篇文章搞懂Nginx是什么,能干什么

Nginx的产生没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform...

网站服务器选择要注意哪几个方面?

互联网+时代,几乎每一个企业都会有自己的网站,这样才可以为自己获取到网络流量。不过除了搭建网站内容之余,网站服务器也是很关键的。网站服务器选择要注意哪几个方面?1、网络的最小带宽网络的带宽包括对接点和...

页游服务器与普通WEB服务器的的区别有哪些

页游服务器与普通WEB服务器的的区别有:网页游戏服务器的数据传输量大,稳定性高,安全性可靠,同时可以满足用户的可扩展性,它采用的原理是Client主动发送数据给Server,同时Server也可主动往...

浅谈WEB服务器、应用程序服务器、HTTP服务器区别

WEB服务器、应用程序服务器、HTTP服务器有何区别?IIS、Apache、Tomcat、Weblogic、WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了:Web服务器的...

什么是WEB服务器? 常用的WEB服务器有哪些?

什么是WEB服务器? 常用的WEB服务器有哪些?一、什么是WEB服务器Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。为了处理...