lighttpd,thttpd,shttpd - 轻量级WebServer介绍
lighttpd,thttpd,shttpd - 輕量級WebServer介紹
Filed under: lighttpd, Web Server, thttpd — allen @ 8:27 pm轉(zhuǎn)自 Zhiqiang::He 博客.
國內(nèi)絕大部分的web server不是IIS就是Apache,而論市場占有率,我認(rèn)為Apache是大贏家了,至少是占據(jù)了半壁江山。
但除了IIS/Apache外,其實我們有很多選擇,對于高負(fù)載/大并發(fā)的網(wǎng)站而言,高性能、輕量級的web server是一劑良藥。最近手頭一臺Server 的負(fù)載太高,居然將swap吃光導(dǎo)致機(jī)器非常緩慢,后來一查,原來是Apache耗掉了幾乎所有資源,當(dāng)時apache進(jìn)程已有9XX個了。
于是用輕量級的web server替換掉apache就進(jìn)入了日程表。這里順帶介紹一下這些可選的對象:
lighttpd | thttpd | shttpd
lighttpd
官方主頁:www.lighttpd.net
Lighttpd是一個德國人領(lǐng)導(dǎo)的開源軟件,其根本的目的是提供一個專門針對高性能網(wǎng)站,安全、快速、兼容性好并且靈活的web server環(huán)境。具有非常低的內(nèi)存開銷,cpu占用率低,效能好,以及豐富的模塊等特點。lighttpd是眾多OpenSource輕量級的web server中較為優(yōu)秀的一個。支持FastCGI, CGI, Auth, 輸出壓縮(output compress), URL重寫, Alias等重要功能,而Apache之所以流行,很大程度也是因為功能豐富,在lighttpd上很多功能都有相應(yīng)的實現(xiàn)了,這點對于apache的用 戶是非常重要的,因為遷移到lighttpd就必須面對這些問題。
在google搜索了一下,簡體中文介紹lighttpd的文章幾乎沒有,大多數(shù)都是臺灣同胞的Big5內(nèi)容。因此在接下來的時間里,想好好寫一篇介紹lighttpd,以及簡單的benchmark的文章。
實用起來lighttpd確實非常不錯,上文提到的apache overload的問題,用lighttpd就完全解決了。apache主要的問題是密集并發(fā)下,不斷的fork()和切換,以及較高(相對于 lighttpd而言)的內(nèi)存占用,使系統(tǒng)的資源幾盡枯竭。而lighttpd采用了Multiplex技術(shù),代碼經(jīng)過優(yōu)化,體積非常小,資源占用很低, 而且反應(yīng)速度相當(dāng)快。
利用apache的rewrite技術(shù),將繁重的cgi/fastcgi任務(wù)交給lighttpd來完成,充分利用兩者的優(yōu)點,現(xiàn)在那臺服務(wù)器的負(fù)載下降了一個數(shù)量級,而且反應(yīng)速度也提高了一個甚至是2個數(shù)量級!
thttpd
官方網(wǎng)站:http://www.acme.com/software/thttpd/
thttpd是一個非常小巧的輕量級web server,它非常非常簡單,僅僅提供了HTTP/1.1和簡單的CGI支持,在其官方網(wǎng)站上有一個與其他web server(如Apache, Zeus等)的對比圖+Benchmark,可以參考參考。此外,thttpd 也類似于lighttpd,對于并發(fā)請求不使用fork()來派生子進(jìn)程處理,而是采用多路復(fù)用(Multiplex)技術(shù)來實現(xiàn)。因此效能很好。
Thttpd支持多種平臺,如FreeBSD, SunOS, Solaris, BSD, Linux, OSF等。對于小型web server而言,速度快似乎是一個代名詞,通過官方站提供的Benchmark,可以這樣認(rèn)為:thttpd至少和主流的web server一樣快,在高負(fù)載下更快,因為其資源占用小的緣故。
Thttpd還有一個較為引人注目的特點:基于URL的文件流量限制,這對于下載的流量控制而言是非常方便的。象Apache就必須使用插件實現(xiàn),效率較thttpd低。
shttpd
官方網(wǎng)站:http://shttpd.sourceforge.net/ Shttpd是另一個輕量級的web server,具有比thttpd更豐富的功能特性,支持CGI, SSL, cookie, MD5認(rèn)證, 還能嵌入(embedded)到現(xiàn)有的軟件里。最有意思的是不需要配置文件!由于shttpd可以嵌入其他軟件,因此可以非常容易的開發(fā)嵌入式系統(tǒng)的web server,官方網(wǎng)站上稱shttpd如果使用uclibc/dielibc(libc的簡化子集)則開銷將非常非常低。以下是其特點:
Stand-alone server, or embeddable into existing C/C++ program
GET, POST, PUT, DELETE methods
CGI
SSL
Digest (MD5) authorization
Multiple (and user defineable) index files
Directory listing
Standard logging
Cookies
inetd mode
User-defineable mime types
No configuration files
No external dependencies
由于shttpd可以輕松嵌入其他程序里,因此shttpd是較為理想的web server開發(fā)原形,開發(fā)人員可以基于shttpd開發(fā)出自己的webserver!
posted on 2007-03-24 12:54 浙林龍哥 閱讀(...) 評論(...) 編輯 收藏轉(zhuǎn)載于:https://www.cnblogs.com/huqingyu/archive/2007/03/24/686292.html
總結(jié)
以上是生活随笔為你收集整理的lighttpd,thttpd,shttpd - 轻量级WebServer介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个人java学习心得总结
- 下一篇: colab配合谷歌云盘使用