最近學(xué)習(xí)關(guān)于網(wǎng)站系統(tǒng)的搭建碰到了lighttpd,nginx,apache這3個(gè)平臺(tái)的東西,apache知道,似于IIS的一個(gè)網(wǎng)站平臺(tái)。
而對于lighttpd,nginx第一次聽到,在搜索里面的到了以下一個(gè)比較!轉(zhuǎn)載下來和大家分享一下。
nginx是一個(gè)小巧而高效的Linux下的web服務(wù)器軟件。開發(fā)人員 Igor Sysoev 來自俄羅斯,nginx的話其實(shí)已經(jīng)在一些俄羅斯的大型網(wǎng)站上運(yùn)行多年,相當(dāng)?shù)姆€(wěn)定,最近才在美國開始知名起來。
而另外一個(gè)熱門的web服務(wù)器軟件是Lighttpd,因?yàn)檫\(yùn)行在Youtube的后臺(tái),所以知名度很高。Lighttpd特色在于它能做Flash streaming和對fastcgi的支持,這樣對于Ruby on Rails之類的程序提速不少,比起Apache要好很多。
但是 nginx 要比 Lighttpd 更穩(wěn)定,功能上并不弱于Lighttpd,差不多什么都有,而且比Lighttpd對于URL rewrite的支持更完善一點(diǎn)。
不管是 nginx 還是 lighttpd, 對于用來提供靜態(tài)文件都要比Apache好很多很多,主要就是占用的內(nèi)存小,Apache和這兩個(gè)小巧的服務(wù)器軟件來比實(shí)在是個(gè)龐然大物啊。
即使是大部分內(nèi)容動(dòng)態(tài)生成的網(wǎng)站,仍免不了會(huì)有一些靜態(tài)元素,比如圖片、JS腳本、CSS等等,將Squid放在Apache或者Lighttp前端后,反而會(huì)使性能下降,畢竟處理HTTP請求是Web服務(wù)器的強(qiáng)項(xiàng)。而且已經(jīng)存在于文件系統(tǒng)中的靜態(tài)內(nèi)容再在Squid中緩存一下,浪費(fèi)內(nèi)存和硬盤空間。因此可以考慮將Lighttpd再放在Squid的前面,構(gòu)成Lighttpd+Squid+Apache的一條處理鏈,Lighttpd在最前面,專門用來處理靜態(tài)內(nèi)容的請求,把動(dòng)態(tài)內(nèi)容請求通過proxy模塊轉(zhuǎn)發(fā)給Squid,如果Squid中有該請求的內(nèi)容且沒有過期,則直接返回給Lighttpd。新請求或者過期的頁面請求交由Apache中Web程序來處理。經(jīng)過Lighttpd和Squid的兩級過濾,Apache需要處理的請求將大大減少,減少了Web應(yīng)用程序的壓力。同時(shí)這樣的構(gòu)架,便于把不同的處理分散到多臺(tái)計(jì)算機(jī)上進(jìn)行,由Lighttpd在前面統(tǒng)一把關(guān)。