linux下安裝lighttpd

來源:互聯網
上載者:User

一,為什麼要使用lighttpd?
apache不可以嗎?
在支援純靜態對象時,比片,檔案等 ,
lighttpd速度更快,更理想

[下面四段話來自:http://www.javayou.com/diary/3264\]

Lighttpd是一個德國人領導的開源軟體,其根本的目的是提供一個專門針對高效能網站,安全、快速、相容性好並且靈活的web server環境。具有非常低的記憶體開銷,cpu佔用率低,效能好,以及豐富的模組等特點。

lighttpd是眾多OpenSource輕量級的web server中較為優秀的一個。支援FastCGI, CGI, Auth, 輸出壓縮(output compress), URL重寫, Alias等重要功能,而Apache之所以流行,很大程度也是因為功能豐富,在lighttpd上很多功能都有相應的實現了,這點對於apache的用 戶是非常重要的,因為遷移到lighttpd就必須面對這些問題。

實用起來lighttpd確實非常不錯,上文提到的apache overload的問題,用lighttpd就完全解決了。apache主要的問題是密集並發下,不斷的fork()和切換,以及較高(相對於 lighttpd而言)的記憶體佔用,使系統的資源幾盡枯竭。而lighttpd採用了Multiplex技術,代碼經過最佳化,體積非常小,資源佔用很低, 而且反應速度相當快。

利用apache的rewrite技術,將繁重的cgi/fastcgi任務交給lighttpd來完成,充分利用兩者的優點,現在那台伺服器的負載下降了一個數量級,而且反應速度也提高了一個甚至是2個數量級!

二,從何處下載lighttpd?
http://www.lighttpd.net
這個是它的官方站

我下載的是 lighttpd-1.4.19.tar.bz2 ,在附件裡。

  1. # cp lighttpd-1.4.19.tar.bz2 /usr/mylib \
  2. # tar jxvf lighttpd-1.4.19.tar.bz2
  3. # cd lighttpd-1.4.19
  4. # ./configure --prefix=/usr/local/lighttpd
  5. # make
  6. # make install
  7. OK!

但是,一般會在第四步遇到問題,我也遇到了: configure: error: pcre-config not found, install the pcre-devel package and build with --without-pcre

此時需要安裝一個軟體包pcre(Perl相容的規則運算式庫) ,如下〔附件裡也有〕:http://sourceforge.net/project/showfiles.php?group_id=10194&package_id=9960&release_id=597811

安裝之後再編譯lighttpd ,流程是上面的6步。

三、 編譯後配置:

cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpd
mkdir /etc/lighttpd
cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf

如果你的Linux是RedHat,那麼:
cp doc/rc.lighttpd.redhat /etc/init.d/lighttpd

然後修改/etc/init.d/lighttpd,把
lighttpd="/usr/sbin/lighttpd"
改為
lighttpd="/usr/local/lighttpd/sbin/lighttpd"

此指令碼用來控制lighttpd的啟動關閉和重起:
# /etc/init.d/lighttpd start

啟動報錯如下:
啟動 lighttpd:2008-08-06 12:40:28: (configfile.c.1136) base-docroot doesn't exist: /srv/www/htdocs/

需要修改/etc/lighttpd/lighttpd.conf這個設定檔中的配置
/srv/www/htdocs/ 這個路徑是不存在的。
server.document-root        = "/srv/www/htdocs/"
改為
server.document-root         = "/var/www/htdocs/"
再重新啟動試試
# /etc/init.d/lighttpd restart
停止 lighttpd:                                            [失敗]
啟動 lighttpd:2008-08-06 12:42:27: (configfile.c.1136) base-docroot doesn't exist: /var/www/htdocs/
2008-08-06 12:42:27: (server.c.591) setting default values failed
                                                           [失敗]

原來是檔案夾不在  # makedir /var/www/htdocs 搞定。
# /etc/init.d/lighttpd restart
停止 lighttpd:                                            [失敗]
啟動 lighttpd:                                            [ 確定 ]

如果你希望伺服器啟動的時候就啟動lighttpd,那麼:
chkconfig lighttpd on

這樣lighttpd就安裝好了,接下來需要配置lighttpd。
參見lighttpd.conf配置大全

server.chroot
使用chroot提高安全性時,web伺服器的root目錄。建議使用。

server.username = "..." server.groupname = "..."
放棄root許可權。

dir-listing.activate
如果沒有找到index檔案就列出目錄。建議disable。

server.max-worker
lighttpd預設只啟動一個進程工作,但也支援apache那樣啟動多個進程,我的實驗顯示啟動多個進程同時工作時並不能提高效能。

server.max-keep-alive-requests
這一條比較關鍵,對效能的影響比較大。在一個keep-alive會話終止串連前能接受處理的最大請求數。Default: 128,對一個高負載的應用來說是不夠的。

server.max-keep-alive-idle
一個空閑keep-alive串連被丟棄前,存在的的最大秒數。Default: 30。

server.error-handler-404
頁面找不到時候的處理,對效能沒什麼影響

server.max-fds
因為lighttpd是一個單線程(single-threaded)伺服器,它的主要資源限制是檔案描述符數目,預設值是1024。如果在一個高負載的網站上,可能你需要通過下面的設定增加這個限定值
server.max-fds = 2048 但這個限定只有在lighttpd做為root身份運行時才會生效。

connection.kbytes-per-second,server.kbytes-per-second
還有值得一提的時lighttpd可以限制每個串連或則特定虛擬機器的流量。

compress.cache-dir,compress.filetype
如果文本稍微大點可以考慮使用壓縮演算法,減少頻寬同時也能提高效率。例如:
compress.cache-dir         = "/var/cache/lighttpd/compress/"
compress.filetype          = ("text/plain", "text/html","text/javascript","text/css")

server.stat-cache-engine = "fam"
這 一條能明顯提升效能,stat() cache。一個stat調用代價可能是昂貴的。為它設一個cache能省時間又避免環境切換。替代每次都stat()來確定檔案的存在,它只stat ()一次,然後會監視目錄,如果目錄不變,他裡面的檔案也就沒有變化。我們的記憶體檔案系統中有沒必要保留,依情況而定。
server.stat-cache-engine = "fam" # either fam, simple or disabled




日誌:

在lighttpd中可以通過下面的配置來實現每天一個訪問記錄檔

accesslog.filename = "| /usr/local/lighttpd/bin/rotatelogs /usr/local/lighttpd/logs/access_%Y%m%d.log 86400"

啟動:

# /usr/local/lighttpd/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
『-f是啟動參數』

或:

# /etc/init.d/lighttpd start
〖用法: /etc/init.d/lighttpd [start|stop|restart|condrestart|reload|status]

或:

service lighttpd restart

 

http://hi.baidu.com/619195553dream/blog/item/21e24e344ea99c97a8018e1e.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.