简介

1.    Apache

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。Apache能取得如此成功并不足为奇:它免费、稳定且性能卓越;但Apache能取得如此佳绩的另一个原因是,当时互联网刚刚兴起时,Apache是第一个可用的Web应用服务器,人们没有其他的选择。

对于那些需要更强大的Web应用服务器(比如大小、可定制、响应速度、可扩展性等方面)的人而言,Apache明显不符合他们的要求,寻找Apache的替代者是更好的选择。

2.    Lighttpd

Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。

3.    Nginx(Ngwsx)

Nginx是十分轻量级的HTTP服务器,是一个高性能的HTTP和反向代理服务器,Nginx以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡。其拥有匹配 Lighttpd的性能,同时还没有Lighttpd的内存泄漏问题。

对比

server

Apache

Nginx     

Lighttpd

Proxy代理

非常好

非常好

一般

Rewriter

非常好

一般

Fastcgi

不好

非常好

热部署

不支持

支持

不支持

系统压力比较

很大

很小

比较小

稳定性

非常好

不好

安全性

一般

一般

技术支持

非常好

很少

一般

静态文件处理

一般

非常好

Vhosts虚拟主机

支持

支持

支持

反向代理

一般

非常好

一般

Session sticky

支持

不支持

不支持

量级

重量级

轻量

轻量

复杂度(安装、配置)

较复杂

简单

简单

总结(静态资源)

Apache:

  • 优点:

    • Apache的兼容性和稳定性都是非常强
    • Apache 的模块比 Nginx/Lighttpd丰富
    • Apache在处理动态请求比Nginx/Lighttpd更有优势
  • 缺点:

  • 属于重量级web服务器(重量级主要是在软件包的大小上比较大,软件的耦合度大)
  • 在速度、性能不及其他轻量级web服务器,并且消费内存较高。使用传统的select模型,比较稳定的Prefork模式为多进程模式,需要经常派生子进程。所以消耗的cpu等服务器资源比较大。

Lighttpd:

  • 优点:

    • 虚机的配置处理方式比 apache 直观,比Apache轻量

    • 轻量级web服务器,cpu占用低,效能好,模块丰富,对fastcgi支持非常好。
    • 支持高并发,和Nginx差不多,比apache性能高很多。
  • 缺点:

    • 稳定性没有Apache和Nginx高,bug相对较多

Nginx:

  • 优点:

    • 轻量级,比apache 占用更少的内存及资源
    • 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能
    • 高度模块化的设计,编写模块相对简单
    • 有Lighttpd的性能,且更稳定,没有其内存泄露问题;
    • 处理静态文件,索引文件以及自动索引,打开文件描述符缓冲。
  • 缺点:

    • nginx处理动态请求是鸡肋,不如Apache;

建议方案:

Apache 后台服务器(主要处理php及一些动态请求);Nginx  前端服务器(高并发请求、静态资源、负载均衡、反向代理和前端Cache等)。

性能测试

在Linux下的性能评测见:http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html

在Windows下的性能评测见:http://down.chinaz.com/server/201202/1614_1.htm

从网友的实际评测结果来看,对静态资源访问的服务器还是Nginx最好。

 
 

Apache、Lighttpd、Nginx 三种web服务器对比的更多相关文章

  1. Tomcat、Apache、IIS这三种Web服务器来讲述3种搭建JSP运行环境的方法

    一.相关软件介绍 1. J2SDK:Java2的软件开发工具,是Java应用程序的基础.JSP是基于Java技术的,所以配置JSP环境之前必须要安装J2SDK. 2. Apache服务器:Apache ...

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

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

  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. (转)三大WEB服务器对比分析(apache ,lighttpd,nginx)

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

  6. 软件介绍(apache lighttpd nginx)

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

  7. 一.软件介绍(apache lighttpd nginx)

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

  8. 你真的了解如何将 Nginx 配置为Web服务器吗

    阅读之前,建议先阅读初识 Nginx. 之后,我们来了解一下 Nginx 配置. 抽象来说,将 Nginx 配置为 Web 服务器就是定义处理哪些 URLS 和如何处理这些URLS 对应的请求.具体来 ...

  9. 常见的三种Web服务架构

    常见的三种Web服务架构 转自http://www.cnblogs.com/bvbook/archive/2008/12/24/1360942.html 相互竞争的服务架构 The Competing ...

随机推荐

  1. 用php怎样将图片gif转化为jpg

    <?php $input= "link2.gif"; $output='test.jpg' ; $image=imagecreatefromgif($input); imag ...

  2. 【编程技巧】 iOS 5的StoryBoard(故事板)的一些用法

    从StroyBoard得到一个View UIViewController *viewController = [[UIStoryboard storyboardWithName:@"Main ...

  3. 在单体应用的一些DDD实践经验

    阅读此文需要一定的DDD基础,如果你是第一次接触DDD读者,建议先去阅读一些DDD相关的书籍或者文章之后再来阅读本文. 背景 自从我在团队中推行DDD以来,我们团队经历了一系列的磨难--先是把核心项目 ...

  4. Oracle多表连接查询

    连接:将一张表中的行按照某种条件和另一张表中的行连接起来形成一个新行的的过程. 根据连接查询返回的结果,分为3类: 内连接(inner join) 外连接(outer join) 交叉连接(cross ...

  5. Spring Boot:在Spring Boot中使用Mysql和JPA

    本文向你展示如何在Spring Boot的Web应用中使用Mysq数据库,也充分展示Spring Boot的优势(尽可能少的代码和配置).数据访问层我们将使用Spring Data JPA和Hiber ...

  6. Linux指令--ifconfig

    许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改.Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config).通常需 ...

  7. 创建md5摘要,规则是:按参数名称a-z排序,遇到空值的参数不参加签名。

    /** * 创建md5摘要,规则是:按参数名称a-z排序,遇到空值的参数不参加签名. */ private function createSign($parameters,$key) { $signP ...

  8. remoteViews简介

    RemoteViews从字面上看是一种远程视图.RemoteViews具有View的结构,既然是远程View,那么它就可以在其他进程中显示.由于它可以跨进程显示,所以为了能够更新他的界面,Remote ...

  9. Spring 4.x (二)

    1 静态代理 PersonDAO.java package com.xuweiwei.staticproxy; public interface PersonDAO { public void sav ...

  10. js事件绑定函数

    js中事件绑定方法大致有三种: 1.在DOM元素中绑定 <input onclick="alert('在DOM中绑定')" type="button" v ...