一,为什么要使用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
详细解决方案
[Web] lighttpd配备介绍
热度:212 发布时间:2012-10-05 15:34:33.0
相关解决方案
- Lighttpd+FastCGi发布Django站点遇到的奇怪有关问题
- Lighttpd+FastCGi发布Django站点遇到的奇怪有关问题
- 几种Web服务器比较 (Apache、IIS、Lighttpd、Nginx、LiteSpeed、Zeus) <转>
- (转)Lighttpd+Squid+Apache筹建高效率Web服务器
- (转载)web服务器比较Apache Nginx lighttpd HAProx Litespeed 缓冲原懂得析fastcgi性能
- 三大WEB服务器对比分析 (apache ,lighttpd,nginx)
- lighttpd + fastdfs + imagemagick实现的图片缩放图的分布式存储
- Linux 上完全手动编译安装 Lighttpd
- Lighttpd 的安装配置 转
- 代理、反向代理知识普及squid apache-mod_proxy lighttpd nginx
- Lighttpd 配置与性能优化