`

[Web] lighttpd配置介绍

 
阅读更多

一,为什么要使用lighttpd? 
    apache不可以吗? 
    在支持纯静态的对象时,比如图片,文件等 , 
    lighttpd速度更快,更理想 
    至于它和apache的比较,很多文档,大家可以google一下

二,从何处下载lighttpd? 
    
http://www.lighttpd.net/download/ 
    这个是它的官方站

三,如何安装? 
    1,编译安装 
      ./configure --prefix=/usr/local/lighttpd 
      make 
      make install

configure完毕以后,会给出一个激活的模块和没有激活模块的清单,可以检查一下,是否自己需要的模块都已经激活,在enable的模块中一定要有“mod_rewrite”这一项,否则重新检查pcre是否安装。
    2,编译后配置 
      cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpd 
      mkdir /etc/lighttpd 
      cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf

      如果你的Linux是RedHat/CentOS,那么: 
      cp doc/rc.lighttpd.redhat /etc/init.d/lighttpd 
      如果你的Linux是SuSE,那么: 
      cp doc/rc.lighttpd /etc/init.d/lighttpd 
      其他Linux发行版本可以自行参考该文件内容进行修改。 
      然后修改/etc/init.d/lighttpd,把 
      LIGHTTPD_BIN=/usr/sbin/lighttpd 
      改为 
      LIGHTTPD_BIN=/usr/local/lighttpd/sbin/lighttpd

      此脚本用来控制lighttpd的启动关闭和重起: 
      /etc/init.d/lighttpd start 
      /etc/init.d/lighttpd stop 
      /etc/init.d/lighttpd restart 
    3,配置 
      修改/etc/lighttpd/lighttpd.conf 
      1)server.modules 
      取消需要用到模块的注释,mod_rewrite,mod_access,mod_fastcgi,mod_simple_vhost,mod_cgi,      mod_compress,mod_accesslog是一般需要用到的。 
      我们放开                               "mod_rewrite" 
                                             "mod_compress",

      2)server.document-root, server.error-log,accesslog.filename需要指定相应的目录 
         server.document-root        = "/www/phc/html/" 
         mkdir /usr/local/lighttpd/logs 
         chmod 777 /usr/local/lighttpd/logs/ 
          touch /usr/local/lighttpd/logs/error.log 
          chmod 777 /usr/local/lighttpd/logs/error.log

         server.errorlog             = "/usr/local/lighttpd/logs/error.log" 
accesslog.filename             = "|/usr/sbin/cronolog /usr/local/lighttpd/logs/%Y/%m/%d/accesslog.log"

      3)用什么权限来运行lighttpd 
         server.username            = "nobody" 
         server.groupname           = "nobody" 
         从安全角度来说,不建议用root权限运行web server,可以自行指定普通用户权限。

       4)静态文件压缩 
          mkdir /usr/local/lighttpd/compress 
          chmod 777 /usr/local/lighttpd/compress/ 
compress.cache-dir         = "/usr/local/lighttpd/compress/" 
compress.filetype          = ("text/plain", "text/html","text/javascript","text/css")

          可以指定某些静态资源类型使用压缩方式传输,节省带宽, 
          对于大量AJAX应用来说,可以极大提高页面加载速度。

        5)server.port                = 81
        6)#$HTTP["url"] =~ ".pdf$" { 
    131 # server.range-requests = "disable" 
    132 #}


    4,优化 
     1 最大连接数

            默认是1024 
            修改 server.max-fds,大流量网站推荐2048.

            因为lighttpd基于线程,而apache(MPM-prefork)基于子进程, 
            所以apache需要设置startservers,maxclients等,这里不需要 
     2 stat() 缓存

               stat() 这样的系统调用,开销也是相当明显的. 
              缓存能够节约时间和环境切换次数(context switches)

              一句话,lighttpd.conf加上 
              server.stat-cache-engine = “fam”

              lighttpd还另外提供simple(缓存1秒内的stat()),disabled选项. 
              相信没人会选disabled吧. 
      3 常连接(HTTP Keep-Alive)

             一般来说,一个系统能够打开的文件个数是有限制的(文件描述符限制) 
            常连接占用文件描述符,对非并发的访问没有什么意义.

            (文件描述符的数量和许多原因有关,比如日志文件数量,并发数目等)
           这是lighttpd在keep-alive方面的默认值. 
server.max-keep-alive-requests = 128 
server.max-keep-alive-idle = 30

换言之,lighttpd最多可以同时承受30秒长的常连接,每个连接最多请求128个文件. 
但这个默认值确实不适合非并发这种多数情况.

lighttpd.conf 中减小 
server.max-keep-alive-requests 
server.max-keep-alive-idle 
两个值,可以减缓这种现象.

甚至可以关闭lighttpd keep-alive. 
server.max-keep-alive-requests = 0 
4 事件处理

对于linux kernel 2.6来说,没有别的可说 
lighttpd.conf中加上这一句足矣 
server.event-handler = “linux-sysepoll”

另外, 
linux 2.4 使用 linux-rtsig 
freebsd 使用 freebsd-kqueue 
unix 使用 poll 
5 网络处理

lighttpd 大量使用了 sendfile() 这样一个高效的系统调用. 
减少了从应用程序到网卡间的距离. 
(同时也减少了lighttpd对cpu的占用,这部分占用转嫁到内核身上了)

根据平台,可以设置不同的参数. 
server.network-backend = “linux-sendfile” 
(linux) 
freebsd: freebsd-sendfile 
unix: writev

如果有兴趣的话,也可以看看lighttpd在async io(aio)上的实现,仅限 lighttpd 1.5 
(linux-aio-sendfile, posix-aio, gthread-aio)

此外,网络方面,核心的参数也需要适当进行修改, 
这里就不需要详细说明了.

    5,启动 
    6,配置日志 
    logrotate & cronolog 
logrotate很粗暴,直接把进程砍了然后移动日志 
cronolog就是比较不错的方式. 
lighttpd用法: 
accesslog.filename = " |/usr/sbin/cronolog /var/log/lighttpd/%Y/%m/%d/access_XXXX.log"


    7,安装pcre 
      从何处下载? 
      
http://www.pcre.org/ 
       wget 
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.4.tar.bz2 
     安装过程: 
         ./configure 
  make clean 
  make 
  make install

8,支持fam 
   gamin默认已安装了此包 
   yum install gamin-devel

   另外配置时需添加: 
   ./configure --prefix=/usr/local/lighttpd --with-fam

9,测试lighttpd的启动: 
/usr/local/lighttpd/sbin/lighttpd -f /usr/local/lighttpd/etc/lighttpd.conf

分享到:
评论

相关推荐

    lighttpd配置和启动脚本

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

    简明Windows,lighttpd,fastcgi,php5 Web服务器配置

    在Windows上配置lighttpd与FastCGI,需要在lighttpd配置文件中启用fastcgi模块,并定义fastcgi.server部分,指定PHP处理器的位置和连接参数。 PHP5是广泛使用的服务器端脚本语言,尤其适合Web开发。在lighttpd和...

    varnish+lighttpd配置

    **三、Varnish+Lighttpd配置步骤** 1. **安装Varnish** 在Ubuntu系统中,可以使用以下命令安装Varnish: ``` sudo apt-get update sudo apt-get install varnish ``` 2. **配置Varnish** 配置Varnish的主要...

    用于ROR应用的lighttpd配置模板

    "用于ROR应用的lighttpd配置模板"提供了一个预设的配置,帮助开发者快速配置lighttpd以支持Rails环境。 Lighttpd以其低内存占用和高并发能力而受到欢迎,它支持FastCGI,这是与Rails应用进行通信的常见接口。...

    lighttpd 安装配置

    #### 四、Lighttpd配置 **创建配置文件** 在Lighttpd安装目录下的`doc`目录中,有一个示例配置文件`lighttpd.conf`,可以将其复制到`conf`目录,并进行编辑: ``` mkdir conf cp /path/to/lighttpd-1.4.8/doc/...

    ubuntu lighttpd实现websocket

    3、首先配置lighttpd.conf 修改为自己的工作路径 var.server_root = "/home/caoft/lighttpd/lighttpd_websocket/http_server" var.state_dir = "/home/caoft/lighttpd/lighttpd_websocket/http_server" var.home_dir...

    在 Ubuntu 15.04/CentOS 7 中安装 Lighttpd Web 服务器的方法

    通过上述步骤,您可以在 Ubuntu 15.04 或 CentOS 7 上成功安装并配置 Lighttpd Web 服务器。Lighttpd 提供了一种轻量级、高效的解决方案,特别适用于对性能有较高要求的应用场景。无论是简单的静态网站还是复杂的...

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

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

    搭建lighttpd+cgi的代码包

    压缩包文件`lighttpd_cgi`可能包含示例CGI脚本、lighttpd配置示例以及其他辅助文件,用于帮助初学者更好地理解和实践lighttpd与CGI的结合使用。解压并研究这些文件,可以帮助你深入理解这一过程。 总结,通过上述...

    lighttpd简单配置

    Lighttpd是一款开源的Web服务器软件,以其轻量级、低内存消耗而著称。它支持SSL/TLS加密连接、URL重写等高级功能,适用于中小型网站或者作为反向代理服务器。 #### 二、安装与配置前的准备 在进行lighttpd的安装与...

    ARM平台lighttpd服务器

    **正文** 在IT行业中,构建高效且可靠的Web...通过适当的配置和管理,lighttpd能在各种ARM设备上发挥出高效能,为Web应用提供稳定的服务。在实际应用中,应结合具体需求和环境进行细致的规划和调整,以实现最佳效果。

    lighttpd-1.4.45_lighttpd服务器_

    《lighttpd-1.4.45:轻量级Web服务器的魅力解析》 lighttpd,这个名字在Web服务器领域中或许不如Apache或Nginx那样耳熟能详,但其独特的轻量级特性和高效性能,使得它在特定场景下成为理想的解决方案。lighttpd-...

    lighttpd-1.4.30.tar.gz

    《lighttpd-1.4.30:轻量级Web服务器的配置与应用》 lighttpd是一款轻量级的Web服务器,以其高效的性能、低内存占用和丰富的功能而受到许多开发者的青睐。在本篇文章中,我们将深入探讨lighttpd-1.4.30版本的特性和...

    lighttpd web服务器

    **lighttpd Web服务器详解** lighttpd是一个高效、快速且设计精良的Web服务器,尤其适合资源有限的环境或需要高性能的轻量...通过深入理解其工作原理和配置,您可以充分利用lighttpd的优势,构建高效、安全的Web服务。

    lighttpd restfulapi cgi

    1. **配置FastCGI**:在lighttpd配置文件中,定义FastCGI服务器的监听地址和路径,如下所示: ``` fastcgi.server += ("api_handler.fcgi" => (( "bin-path" => "/path/to/api_handler.fcgi", "check-local" =>...

    lighttpd+php in android

    5. **测试与部署**:一旦lighttpd和PHP配置完毕,可以通过访问Android设备的IP地址和指定的端口号来测试Web服务是否正常工作。记得开启Android设备的端口转发,以便从其他设备访问。 这个压缩包文件可能包含了编译...

    lighttpd服务器

    Lighttpd的配置文件简洁易懂,使得管理员能够快速配置和调整服务器以满足各种需求。 **1. lighttpd服务器的优势** - **轻量级**: Lighttpd的内存占用非常小,这使得它可以在低配置硬件上运行良好,尤其适合嵌入式...

    lighttpd-1.4.49.tar.gz

    《lighttpd:轻量级Web服务器的深度解析与配置指南》 lighttpd是一款开源、轻量级的Web服务器,其设计目标是提供高效、安全的互联网服务。标题中的"lighttpd-1.4.49.tar.gz"表明我们获取的是lighttpd的1.4.49版本...

    ubuntu lighttpd+webpy (fastcgi)配置方法

    - [Lighttpd配置选项](http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions) 通过以上步骤,你已经成功地在Ubuntu上配置了Lighttpd与Webpy的FastCGI集成,为动态网站提供了高效且灵活的...

Global site tag (gtag.js) - Google Analytics