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 协议下发行.其特点是占有内存少,并发能力强 ...
随机推荐
- angular4 组件间通信
父传子用@input 子传父用@output 例:子组件 <p> <span *ngFor="let star of stars;let i=index" cla ...
- 170320、使用快照和AOF将Redis数据持久化到硬盘中
前言 我们知道Redis是一款内存服务器,就算我们对自己的服务器足够的信任,不会出现任何软件或者硬件的故障,但也会有可能出现突然断电等情况,造成Redis服务器中的数据失效.因此,我们需要向传统的关系 ...
- JQuery 操作数组 each、map、grep
Jquery中对数组的操作大致有一下几种形式:1.$.each( collection, callback(indexInArray, valueOfElement) )$.each()函数和$(se ...
- 配置Hibernate的流程
配置项目的前提下你应该配置好你的开发环境 1新建hibernate.cfg.xml文件,放在src目录里 <?xml version="1.0" encoding=" ...
- react 快速 点击
用 fastclick npm 一下 他 就可以
- Spring Cloud Zuul与网关中间件
Spring Cloud Zuul与网关中间件_网易订阅 http://dy.163.com/v2/article/detail/DC7L8UV10511HSJK.html
- 转!mysql 命令行下 通过DELIMITER临时改变语句分隔符 执行存储过程
mysql 在 Navicat 界面工具 执行存储过程ok,但是在命令行下执行失败. 原因在于,默认的MySQL语句分隔符为' ; ',在输入' ; '的时候,“以为”语句已经结束了,但实际上语句还没 ...
- Nginx 之 内存池
1.基本结构 先来学习一下nginx内存池的几个主要数据结构:[见:./src/core/ngx_palloc.h/.c] ngx_pool_data_t(内存池数据块结构) 1: typed ...
- Flask使用mysql数据池
helper.py import pymysql from settings import Config def connect(): conn = Config.POOL.connection() ...
- 网络编程(基于udp协议的套接字/socketserver模块/进程简介)
一.基于UDP协议的套接字 TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据.相对TCP,UDP则是面向无连接的协议. 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就 ...