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 ...
一周排行
  • 批量为通讯组添加RejectMessagesFromSendersOrMembers成员,此操作不会覆盖原来的配置,只是增加$groups= Get-DistributionGroup -ResultSize unl ...
  • 解释 梅特卡夫定律:定律表示:  网络的有用性(价值)随着用户数量的平方数增加而增加.换句话说,某种网络,比如电话的价值随着使用用户数量的增加而增加.现在如日中天的电子商务网站eBay就是最好的例证.  即网络的价值 ...
  • RHEL5.5_x64安装Oracle_11g_R2(用于vCenter数据库)-2
    前面已经将环境准备好,接下来开始安装.1) 将安装文件上传到VM,解压.切换到Oracle ...
  • 第1天 第1节:Oracle安装及基本命令本讲知识点 .Oracle简介.Oracle安装.sqlplusw的使用--设置环境变量 第1天 第2节SQLPlusw操作本讲知识点 .ed 文件名.@文件名称.sqlpl ...
  • 别人如果自己要写一个东西,不是马上打开ide开始写代码,而是去网上搜索一下看看是否已经相关的代码,如果有相同的功能代码直接复制过来用就可以了,如果是有相似的可以改改用,这样能提高开发效率. 所以在学习怎么写代码之前我 ...
  • 命名式ACL配置实例 稍微大一些的企业在网络管理中就要经常用到命名式的ACL配置.由于企业部门的分化,不同的部门需要不同ACL规则.其实配置ACL非常简单,首先命名一个ACL,然后进入将你所需要的ACL配置逐一加入, ...
  • 在Ubuntu更新中,谁没有碰见个错误?在Ubuntu和其它基于Ubuntu的Linux发行版中,更新错误是一个共性的错误,也经常发生.这些错误出现的原因多种多样,修复起来也很简单.在本文中,我们将见到Ubuntu中 ...
  • 今天安装office professional plus 2007提示windows installer 服务不能更新一个或多个受保护的windows文件导致office 2007安装失败,主要是在c盘缺少3个dll ...
  • 通知传值第一个UIViewcontroller.h#import <UIKit/UIKit.h>@interface UseNotifi_VCOne :UIViewController@endUIView ...
  • 信息安全设计基础系统第十四周学习总结
    第九章 虚拟存储器 9.1 物理和虚拟寻址 .物理地址 计算机系统的主存被组织成一个由M个 ...