`
gaojingsong
  • 浏览: 1211546 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Lighttpd介绍

阅读更多

Lighttpd 是一个德国人领导的开源Web服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销、cpu占用率低、效能好以及丰富的模块等特点。

Lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI,CGI,Auth,输出压缩(output compress),URL重写,Alias等重要功能;而Apache之所以流行,很大程度也是因为功能丰富,在lighttpd上很多功能都有相应的实现了,这点对于apache的用户是非常重要的,因为迁移到lighttpd就必须面对这些问题



 

Security, speed, compliance, and flexibility -- all of these describe lighttpd (pron. lighty) which is rapidly redefining efficiency of a webserver; as it is designed and optimized for high performance environments. With a small memory footprint compared to other web-servers, effective management of the cpu-load, and advanced feature set (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting and many more) lighttpd is the perfect solution for every server that is suffering load problems. And best of all it's Open Source licensed under the revised BSD license.

 

 

 为什么使用Lighttpd,从性能方面来说,首先考虑单进程与多进程问题,这也是我为什么不想使用Apache的原因,多进程服务器的惊群问题,简单来说多进程服务(例如Apache)在一个请求发送时候会唤醒所有sleep的进程,但是最终服务的只有一个,在进程数目很多,请求频繁的时候这会造成一个大困扰,系统会忙于切换进程,如果看Top会发现CPU使用在system的比例很高,至于Lighttpd则使用单进程来响应 quest,使用 libevent,poll()作为event handler,如果在linux2.4下,还可以选择rtsig作为event handler。如果不使用大文件(>4G)支持,lighttpd使用sendfile()来发送文件,完全的zero-copy,在这方面性能表现是占优的。同时Lighttpd使用FastCGI来做动态脚本处理,经过实测,在性能表现上也可以接受。

 

    另外就是原先使用Apache的用户迁移成本会比较少,Lighttpd语法与Apache接近,并且核心功能基本实现,我关注的就是 url_rewrite,PHP(这是当然的),alias,custom_log这几个模块,语法接近,并且也同样支持跟cronolog的管道配合日志,所以迁移之后功能都可以实现。另外我比较了Apache和Lighttpd的Suexec方案,虽然目前Lighttpd并没有官方模块来支持这一特性,但是就实现的难度来看,跟 Apache1.3乃至Apache2+MPM差不多……(如果希望安全的使用Apache2+MPM+PHP,一样需要 FastCGI模式)

 

 实用起来lighttpd确实非常不错,apache主要的问题是密集并发下,不断的fork()和切换,以及较高(相对于 lighttpd而言)的内存占用,使系统的资源几尽枯竭。而lighttpd采用了Multiplex技术,代码经过优化,体积非常小,资源占用很低,而且反应速度相当快。

 

利用apache的rewrite技术,将繁重的cgi/fastcgi任务交给lighttpd来完成,充分利用两者的优点,现在那台服务器的负载下降了一个数量级,而且反应速度也提高了一个甚至是2个数量级!

 

  • 大小: 13.2 KB
0
0
分享到:
评论

相关推荐

    Lighttpd源码分析_mobi

    主要内容包括:lighttpd介绍与分析准备工作、lighttpd网络服务主模型、lighttpd数据结构、伸展树、日志系统、文件状态缓存器、配置信息加载、i/o多路复用技术模型、插件链、网络请求服务响应流程、请求响应数据快速...

    lighttpd配置和启动脚本

    以上就是lighttpd配置文件和启动脚本的基本介绍。在实际部署和运维过程中,需要根据具体需求对配置文件进行调整,并确保启动和停止脚本的可靠性,以确保Web服务器的稳定运行。理解并熟练掌握这些内容,对于管理和...

    搭建lighttpd+cgi的代码包

    本教程将详细介绍如何使用lighttpd和CGI来搭建一个动态网页服务器。 1. **理解lighttpd** lighttpd是一个快速、安全且配置简单的HTTP服务器,特别适合于资源有限的环境。它的特性包括模块化设计、高性能的事件模型...

    lighttpd代码阅读资料

    本文将围绕lighttpd的代码阅读资料,详细介绍其核心概念、设计架构以及如何有效地进行代码分析。 一、lighttpd的核心特性 1. 轻量级:lighttpd设计之初就注重资源效率,尤其是在内存使用上,使得它在处理大量并发...

    Lighttpd源码分析

    Lighttpd源码分析就是一本介绍分析Lighttpd源码的初级读本,其主要目标在于:一方面让已经接触过网络编程的读者可以从Lighttpd这个开源项目中学习到更深入实际的网络编程知识,另一方面也可以让使用Lighttpd作为自己...

    lighttpd 安装配置

    本文将详细介绍Lighttpd的安装与配置流程,重点涵盖pcre库的安装以及如何配置Lighttpd以支持复杂的正则表达式和Ruby语言。 #### 二、安装前准备:pcre库 pcre(Perl Compatible Regular Expressions)库提供了与...

    lighttpd安装全集

    本文将详细介绍如何在CentOS 6.x系统上安装并配置lighttpd。 1. **支持平台与编译环境** Lighttpd适用于多种操作系统平台,包括但不限于Linux(如FC3、SuSE、Debian、Gentoo、PLD-Linux和OpenWRT)、*BSD(FreeBSD...

    lighttpd基础入门——状态机与插件

    - **回调接口介绍**: - `init`:插件初始化。 - `set_defaults`:设置默认配置。 - `handle_uri_raw`:处理原始URI。 - `handle_uri_clean`:处理清理后的URI。 - `handle_subrequest_start`:处理子请求开始...

    lighttpd-1.4.59.tar.gz

    本文将详细介绍lighttpd-1.4.59版本的安装过程以及基础配置,帮助读者深入理解这一开源HTTP服务器。 一、lighttpd简介 lighttpd是由德国开发者Jan Kneschke发起的项目,旨在提供一个快速、内存占用小且配置简单的...

    lighttpd+mysql+php tar.gz安装包整合

    下面将详细介绍这些组件以及如何进行集成安装。 首先,让我们详细了解一下每个组件: 1. **lighttpd**:Lighttpd是一个开源的Web服务器,以其速度、低内存占用和安全性而闻名。它特别适合于小到中等规模的网站或在...

    suse linux下安装php5、Lighttpd .

    虽然本文主要关注的是 Lighttpd,但为了完整性,也简单介绍一下如何安装 Apache。使用以下命令配置 Apache: ```sh ./configure --prefix=/usr/local/apache --enable-shared=max --enable-module=rewrite --enable...

    CentOS下Lighttpd Web服务器安装与配置方法

    本文将详细介绍如何在CentOS 5.5版本上安装并配置Lighttpd,以及如何为它添加PHP支持。 首先,确保你的系统是最新的。在终端中输入以下命令来更新你的CentOS系统: ```bash sudo yum update ``` 接下来,安装...

    在Lighttpd服务器中运行Django应用的方法

    本文将详细介绍如何在Lighttpd服务器中配置FastCGI模块来运行Django应用,并且讲解如何同时运行多个Django应用。 首先,确保你已经安装了Lighttpd服务器和Django框架。Lighttpd支持FastCGI协议,这是一种让Web...

    wordpress在lighttpd下的重写规则及注意细节

    这里我们将重点介绍如何在使用Lighttpd作为web服务器的环境下通过重写规则实现WordPress的URL静态化处理。 首先,我们需要了解什么是URL重写。URL重写是一种通过服务器软件自动将一个请求的URL转换为另一个URL的...

    Lighttpd 高性能web服务器

    软件介绍 一个轻量级的Web 服务器,支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。它具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点,其静态文件的响应能力远...

    CodeIgniter针对lighttpd服务器URL重写的方法

    本文将详细介绍如何为lighttpd服务器设置URL重写规则,以便正确地处理CodeIgniter框架生成的路由。 首先,我们需要了解lighttpd的URL重写机制。在lighttpd中,通过url.rewrite-once指令来定义重写规则。该指令接受...

    Nginx、Apache、Lighttpd禁止目录执行php配置示例

    本篇文章将详细介绍如何在Nginx、Apache和Lighttpd这三种流行的Web服务器上实现这一功能。 **Apache配置** 在Apache服务器上,我们可以使用`<Directory>`指令来限制指定目录内的PHP执行。以下是一个示例: ```...

Global site tag (gtag.js) - Google Analytics