1、Apache

Apache是非常强大的老牌Web服务器,具有模块化结构,拥有众多非常成熟稳定的模块,目前仍是使用非常广泛的服务器,但它是基于多进程HTTPServer,需要对每个用户请求创建一个子进程/线程来响应,当访问较大时,会占用较多的系统资源(主要事实CPU和内存),所以高并发的处理并不是Apache的强项。

2、Nginx

Nginx是一款十分轻量级的HTTP服务器,同时也是一款非常不错的反向代理、负载均衡服务器。Nginx以事件驱动,专为性能优化而开发,支持内核Poll模型,能经受高负载的考验,并且在高负载下具有很高的稳定性。其他HTTP服务器在遇到访问的峰值或恶意攻击时,很可能会因为服务器内存频繁交换而导致内存耗尽,最终导致服务器失去响应,而Nginx采取了分阶段资源分配技术,是的它的CPU与内存占用率非常低。Nginx官方表示保持10000个没有活动的连接,只占2.5MB内存,所以在抵御类似DOS攻击时,Nginx有非常出色的表现。除此之外,就稳定性而言,Nginx比Lighttpd更胜一筹。

Nginx支持热部署,启动非常容易,并且几乎可以做到不间断运行,即使运行数月也不需要重新启动。Nginx还可以在不间断服务的情况下进行版本升级。

3、Lighttpd

Lighttpd是一款轻量级的Web服务器,占用内存小且CPU负荷低,是服务于静态内容的不错选择。

4、IIS

IIS作为运行在Windows环境下的Web服务器软件,可以对.NET、PHP等进行解析。IIS只能运行于Windows下,而绝大多数开源框架或软件最佳搭配环境为Linux/UNIX,这是因为IIS不具有开源软件低成本、以扩展的特点。从开源、投入、扩展、性能等方面考虑,IIS均不是优先考虑对象。

5、Tomcat

Tomcat服务器时一个免费的开源的Web应用服务器,属于轻量级应用服务器,是开发和调试JSP程序的首选。Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,但处理静态页面的能力较差。

Lighttpd是一个单进程模型的Web服务器,内存使用量很少。Nginx在内存分配方面表现良好,使用多线程来处理请求,这使得多个线程之间可以共享内存资源,从而使内存使用量大大减少。此外Nginx使用分段内存分配策略,按需分配及时释放,总体占用内存很少,可支持较大的并发连接。Apache在运行时使用较大的内存,是多进程模型,使用基于内存池策略的内存管理方法,使得在运行开始时便一次性申请大片内存作为内存池,这=这样在随后需要的时候只在内存池中直接获取,不需要再分配,因此不适合大并发的情况。Nginx作为一个后起之秀,发展速度非常迅猛,目前各大网站纷纷采用Nginx就说明它的优势是不言而喻的。

Web服务器对比介绍的更多相关文章

  1. 转: 三大WEB服务器对比分析(apache ,lighttpd,nginx) (2008年的旧文,仅供参考之用)

    from:  http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html 三大WEB服务器对比分析(apache ,lighttp ...

  2. java web服务器tomcat介绍【转载】

    机器矩阵2016-08-10 22:14 java程序员亲切地称他为tom猫,看到这只猫可以说明1 服务器部署成功了 ,2 网络是联通的. 到底这只猫是什么来头呢? tomcat是Apache基金会下 ...

  3. [转]三大WEB服务器对比分析(apache ,lighttpd,nginx)

    原博文地址:http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html 一.软件介绍(apache  lighttpd  ngin ...

  4. 三大WEB服务器对比分析(apache ,lighttpd,nginx)

    一.软件介绍(apache  lighttpd  nginx) 1. lighttpd Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点.lighttpd是众多 ...

  5. Apache、Lighttpd、Nginx 三种web服务器对比

    简介 1.    Apache Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.Apac ...

  6. (转)三大WEB服务器对比分析(apache ,lighttpd,nginx)

    ref : https://www.iteye.com/blog/hai0378-1860220   一.软件介绍(apache  lighttpd  nginx) 1. lighttpd Light ...

  7. 闲来无聊,研究一下Web服务器 的源程序

    web服务器是如何工作的 1989年的夏天,蒂姆.博纳斯-李开发了世界上第一个web服务器和web客户机.这个浏览器程序是一个简单的电话号码查询软件.最初的web服务器程序就是一个利用浏览器和web服 ...

  8. web服务器、tomcat、servlet是什么?它们之间的关系又是什么?

    今天偶然看到常见web服务器的介绍有Apache HTTP server.Nginx.Microsoft IIS.GWS,心中不禁产生了疑问,这些都是什么呢?一直认为tomcat就是web服务器,以下 ...

  9. 高性能Web服务器Nginx

    高性能Web服务器Nginx介绍 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强 ...

随机推荐

  1. vuex应用实例-this.$store.commit()触发

    新建文件夹store,store下: action.js const actions = {} export default actions; getter.js const getters = {} ...

  2. Android /system/build.prop 文件

    # begin build properties (开始设置系统性能) # autogenerated by buildinfo.sh (通过设置形成系统信息) ro.build.id=GRI40 ( ...

  3. Spark 源码分析 -- BlockStore

    BlockStore 抽象接口类, 关键get和put都有两个版本序列化, putBytes, getBytes非序列化, putValues, getValues 其中putValues的返回值为P ...

  4. 服务器端Session和客户端Session(和Cookie区别)2

    https://blog.csdn.net/java_faep/article/details/78082802 我们可以得出如下结论: 关闭浏览器,只会是浏览器端内存里的session cookie ...

  5. JPA 入门程序及相关注解

    1. 概述 JPA(Java Persistence API):用于对象持久化的API; JPA本质上是一种ORM规范,不是ORM框架;提供了一些编程的API接口; Hibernate是实现; 1.1 ...

  6. 【opencv入门篇】 10个程序快速上手opencv【上】

    导言:本系列博客目的在于能够在vs快速上手opencv,理论知识涉及较少,大家有兴趣可以查阅其他博客深入了解相关的理论知识,本博客后续也会对图像方向的理论进一步分析,敬请期待:) PS:官方文档永远是 ...

  7. Java-工程中常用的程序片段

    1.字符串-整型相互转换 String s = String.valueOf(2); int a = Integer.parseInt(s); 2.向文件末尾添加内容 BufferedWriter b ...

  8. zzUbuntu安装配置Qt环境

    zz from http://blog.csdn.net/szstephenzhou/article/details/28407417 安装 QT4.8.6库+QT Creator 2.5.0 下载地 ...

  9. 详解MySQL第一篇—MySQL简要介绍及DDL语句

    背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...

  10. python中变量的交换

    a=4 b=5 #第一种 c=0 c=a a=b b=c print('a=%d,b=%d'%(a,b)) #第二种 a=a+b b=a-b a=a-b print('a=%d,b=%d'%(a,b) ...