lighttpd+modcache本人从来不觉得nginx有传说中那么夸张

&FROST 20091007
各种webserver 各有千秋 本人从不觉得哪个最好 哪个不好!~  择优而用之
但是自己的一点心得体会是 apache 作为资源前辈 却有其过人之处 
对于 处理 静态 还是觉得 lighttpd 比 nginx 更胜一筹。
当然 处理 php 动态程序 apache 稳定安全。 比 nginx 的 502 504 显得厚道多了
简单介绍下 lighttpd 
官方主页:www.lighttpd.net
“引号”内文字属cp出品:
“Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。”
lighttpd 有个缺点就是单线程模式。。。
lighttpd+modcache 类似于 nginx的proxy+cache 及传统squid 后起之秀 varish; 提供反向代理及CACHE服务
http://redmine.lighttpd.net/wiki/1/Docs:ModCache
“lighttpd是基于事件驱动的高性能web服务器。mod_cache是在lighttpd上运行的缓存插件。lighttpd+mod_cache 搭建的缓存系统,具有配置简单,性能高,在很多大型系统得到了广泛应用。”
“mod_cache 是一个Lighttpd Web服务器的缓存模块,其功能类似Squid,只需要简单的配置。而且mod_cache 比Squid 的速度和运行效率都要高很多,这都是Lighttpd 的功劳。”
1.编译安装
./configure --prefix=/usr/local/lighttpd --disable-ipv6 --with-pcre --with-zlib --with-bzip2 && make && make install
启动 lighttpd -D -f <configfile>
2.vim lighttpd.conf(一般应用)
选定需要的模块
server.modules = (
  )
server.username = "www"
server.groupname = "www"
server.document-root = "/usr/local/lighttpd/htdocs/"
server.errorlog = "/usr/local/lighttpd/logs/error.log"
accesslog.filename = "/usr/local/lighttpd/logs/access.log"  
允许软链接
server.follow-symlink
禁止访问以 "~" ".inc" 结尾的文件
url.access-deny = ( "~", ".inc")
限制每s单个IP连接数
Module:mod_evasive [i?veisiv]
  evasive.max-conns-per-ip = 1
  $HTTP["host"] == "example.com" {
  evasive.max-conns-per-ip = 2
  }
  $HTTP["host"] == "example2.com" {
  evasive.max-conns-per-ip = 0
  }
启用目录列表
dir-listing.activate = "enable"
$HTTP["url"] =~ "^/download/" {
  dir-listing.activate = "disable"
}
启用压缩
Module:mod_compress
compress.allowed-encodings = ("bzip2", "gzip", "deflate")
compress.cache-dir = "/usr/local/lighttpd/cachedata/" 
compress.filetype = ("text/plain","text/html","text/javascript", "text/css", "text/xml")
#清除10天未被访问的缓存
#find /var/www/cache -type f -mtime +10 | xargs -r rm
# 针对vhost指定压缩目录 even better with virt-hosting
  $HTTP["host"] == "docs.example.org" {
  compress.cache-dir = "/var/www/cache/docs.example.org/" 
  }
!!!
Module:mod_deflate ###需补丁###
http://redmine.lighttpd.net/projects/lighttpd/wiki/Mod_Deflate
设置过期期限
Module: mod_expire
expire.url = ( "/images/" => "access 1 hour" )
代理功能
Module:mod_proxy
# “1” 启用 debug
#Use 1 to enable some debug output,0 to disable it .
proxy.debug = [01] 
  $HTTP["host"] == "www.frost.cn" {
  proxy.balance = "hash" # “hash” “round-robin” “fair”
  proxy.server = ( "/" => ( ( "host" => "10.0.0.10" ),
  ( "host" => "10.0.0.17" ) ) )
  }
server.max-keep-alive-requests = 128
server.max-keep-alive-idle = 30
server.max-read-idle = 60
server.max-write-idle = 360
#server.event-handler = "linux-sysepoll"
server.max-fds = 2048
3.vim lighttpd.conf(proxy + modcache 反向代理)
http://blog.quehy.com/page/2/
server.modules = (
# ...., other modules 
 "mod_cache", # make sure mod_cache loaded before mod_proxy
 "mod_proxy"
)
cache.support-queries = "enable" #ignore '?' in url
cache.bases = ("/data/cache") #write cached files in /data/cache directory
cache.refresh-pattern = (
 "\.(?i)(flv)$" => "0 fetchall-for-range-request flv-streaming", # to work with mod_flv_streaming for flv files
 "\.(?i)(js|css|xml)$" => "240", # update js/css/xml every 4 hours and on refresh requests
 "\.(?i)(htm|html|shtml)$" => "30", # update html/htm/shtml every 30 minutes and on refresh requests
 "\.(?i)(jpg|bmp|jpeg|gif|png)$" => "2880", # update graphics files every 2 days
 "\.(?i)(rar|zip|wmv|avi|mp3|ape|rm|mpeg|mpg|wma|asf|rmvb|flv)$" => "0 fetchall-for-range-request", # cache media file forever
 "." => "30 update-on-refresh" # default to update every 30 minutes and on refresh requests
)
#mod_proxy setting, config your backend servers here
proxy.server = ( "/" =>
  (
  ( "host" => "x.x.x.x", "port" => 80 ) # real backend http server ip and port
  )
)
#it's important to enable proxy.worked-with-mod-cache or mod_proxy will not cooperate with modcache
proxy.worked-with-mod-cache = "enable"
未完!~ 待续 
更多相关文章
  • 闲的没事,拿一台淘汰的2950做了做nginx和lighttpd的性能对比,可以在选择webserver上做个参考.测试环境如下Dell2950 4G内存,FreeBSD 8.2 releaseiostat -w 1       tty           mfid0              da ...
  • 配置高性能lighttpd、nginx、mysql、php服务~
    Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全.快速.兼容性好并且灵活的web server环境.具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点.lighttpd是众多轻量级的web server中较为优秀的一个.支持FastCGI,  ...
  • PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下.一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000 ...
  • PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下.一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000 ...
  • Nginx的工作原理和优化
    1. Nginx的模块与工作原理Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动 ...
  • Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布 ...
  • PS:近来有几个刚使用nginx的新童鞋老问我,nginx+fastcgi不够稳定,偶尔出现502错误,怎么解决?本人使用nginx也有3年多了,也认为php-fpm模块不够稳定,在访问量不大的时候没事,访问量增大时易出现502,当然这个还跟nginx的一些缓存设置和超时设置有关,设置不合理就易出现 ...
  • Nginx工作原理和优化、漏洞
    Nginx工作原理和优化.漏洞.1.  Nginx的模块与工作原理Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个loca ...
一周排行
  •   人类的世界,太复杂,涉世未深,未敢造次.但作为毕业一年多的小白,小小码童,带着对计算机的理解,写下这篇浅薄的文章,工作当中的一点感悟,也是一些总结.讲个就是这个熟悉又陌生的计算机的世界.就当是茶余饭后的笑料,也希 ...
  • 1)angularjs中如何使用正则表达式<input type="text"  ng-model="dutyCode" ng-focus="showDutyC ...
  • CGI漏洞是网管最容易乎视的地方,就我测试的这个网站上的漏洞, 我简单说一下,几个常见的漏洞地方.一般原理,解决方法,如果没有写全,请参考一些文献. 1,名字:?PageServices漏洞 这个漏洞是很多网站都有的 ...
  • 某集团的项目之-----------设备验收
               经常看到一些学生或学习网络方向的朋友,总是说没有完整项目经验,正好目 ...
  • 将近半个月没写博客了,最近的心思都在照顾女儿身上,从8月底接孩子回北京,到安排孩子转就近幼儿园的事情,然后就是每天照顾女儿的起居加上班,很辛苦,很繁忙.终于一切都走上正轨了,我也该继续坚持自己的事情了,要学会做一个高 ...
  • [赛迪网讯]5月30日消息,据国外媒体报道,微软在2011年消费电子展会和MIX '11会议上已经宣布下一个版本的Windows将在ARM架构的处理器上运行并且展示了Windows 8早期构建版.虽然微软否认了首席执 ...
  • 工作群沟通准则建议作者:张国祥2015年7月26日一.首次问候,再次则免:只谈工作,不说废话:二.公共话题.群内交流,俩人沟通.直接对话:三.工作通知,人人应答,群内找人,知者回话:四.节日捷报,也可例外,祝贺祝福. ...
  • 最近在处理辞职的事情,所以一直没有来更新我的BLOG!等处理完以后,一定来更新.下次我将写编写DELPHI组件的方法,并以一个组件为例.
  • 利用PowerCLI在容器间移动虚拟机
    今天有人要我帮忙申请虚拟机的控制台权限,我遇到了两个问题:1. 申请的虚拟机数量较多且分布 ...
  • 模板方法模式之C++实现
    模板方法模式 抽象类 class AbstractClass{public:    voi ...