Web服务器对比介绍
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服务器对比介绍的更多相关文章
- 转: 三大WEB服务器对比分析(apache ,lighttpd,nginx) (2008年的旧文,仅供参考之用)
from: http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html 三大WEB服务器对比分析(apache ,lighttp ...
- java web服务器tomcat介绍【转载】
机器矩阵2016-08-10 22:14 java程序员亲切地称他为tom猫,看到这只猫可以说明1 服务器部署成功了 ,2 网络是联通的. 到底这只猫是什么来头呢? tomcat是Apache基金会下 ...
- [转]三大WEB服务器对比分析(apache ,lighttpd,nginx)
原博文地址:http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html 一.软件介绍(apache lighttpd ngin ...
- 三大WEB服务器对比分析(apache ,lighttpd,nginx)
一.软件介绍(apache lighttpd nginx) 1. lighttpd Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点.lighttpd是众多 ...
- Apache、Lighttpd、Nginx 三种web服务器对比
简介 1. Apache Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.Apac ...
- (转)三大WEB服务器对比分析(apache ,lighttpd,nginx)
ref : https://www.iteye.com/blog/hai0378-1860220 一.软件介绍(apache lighttpd nginx) 1. lighttpd Light ...
- 闲来无聊,研究一下Web服务器 的源程序
web服务器是如何工作的 1989年的夏天,蒂姆.博纳斯-李开发了世界上第一个web服务器和web客户机.这个浏览器程序是一个简单的电话号码查询软件.最初的web服务器程序就是一个利用浏览器和web服 ...
- web服务器、tomcat、servlet是什么?它们之间的关系又是什么?
今天偶然看到常见web服务器的介绍有Apache HTTP server.Nginx.Microsoft IIS.GWS,心中不禁产生了疑问,这些都是什么呢?一直认为tomcat就是web服务器,以下 ...
- 高性能Web服务器Nginx
高性能Web服务器Nginx介绍 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强 ...
随机推荐
- vuex应用实例-this.$store.commit()触发
新建文件夹store,store下: action.js const actions = {} export default actions; getter.js const getters = {} ...
- Android /system/build.prop 文件
# begin build properties (开始设置系统性能) # autogenerated by buildinfo.sh (通过设置形成系统信息) ro.build.id=GRI40 ( ...
- Spark 源码分析 -- BlockStore
BlockStore 抽象接口类, 关键get和put都有两个版本序列化, putBytes, getBytes非序列化, putValues, getValues 其中putValues的返回值为P ...
- 服务器端Session和客户端Session(和Cookie区别)2
https://blog.csdn.net/java_faep/article/details/78082802 我们可以得出如下结论: 关闭浏览器,只会是浏览器端内存里的session cookie ...
- JPA 入门程序及相关注解
1. 概述 JPA(Java Persistence API):用于对象持久化的API; JPA本质上是一种ORM规范,不是ORM框架;提供了一些编程的API接口; Hibernate是实现; 1.1 ...
- 【opencv入门篇】 10个程序快速上手opencv【上】
导言:本系列博客目的在于能够在vs快速上手opencv,理论知识涉及较少,大家有兴趣可以查阅其他博客深入了解相关的理论知识,本博客后续也会对图像方向的理论进一步分析,敬请期待:) PS:官方文档永远是 ...
- Java-工程中常用的程序片段
1.字符串-整型相互转换 String s = String.valueOf(2); int a = Integer.parseInt(s); 2.向文件末尾添加内容 BufferedWriter b ...
- zzUbuntu安装配置Qt环境
zz from http://blog.csdn.net/szstephenzhou/article/details/28407417 安装 QT4.8.6库+QT Creator 2.5.0 下载地 ...
- 详解MySQL第一篇—MySQL简要介绍及DDL语句
背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...
- 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) ...