linuxDeploy搭建linux服務(wù)器篇,在寫到安裝寶塔面板時寫不下去了,雖然寶塔面板成功安裝,但實際運行中一堆BUG,暫時處于卡殼狀態(tài),所以還在不斷排雷中......
所以,本來想先寫內(nèi)網(wǎng)穿透篇,臨時用ksweb建個站,才發(fā)現(xiàn)文章中有錯誤地方
網(wǎng)站建設(shè) | 我用破舊Android機建了個WEB服務(wù)器--基礎(chǔ)搭建
網(wǎng)站建設(shè) | 我用破舊Android機建了個WEB服務(wù)器--數(shù)據(jù)庫配置
lghttpd/Nginx/apach,三選一運行即可,文中圖片前面配置了lghttpd,后面圖片又運行了Apache,是錯的。所以,這里先說下Nginx/Lighttpd/Apache三大web服務(wù)器的對比吧。
一.軟件介紹(nginx lighttpd apache)
1.nginx
Nginx是一款輕量級的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like 協(xié)議下發(fā)行。其特點是占有內(nèi)存少,并發(fā)能力強,事實上nginx的并發(fā)能力在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,中國大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。
其將源代碼以類BSD許可證的形式發(fā)布,因它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。
nginx做為HTTP服務(wù)器,有以下幾項基本特性:
- 處理靜態(tài)文件,索引文件以及自動索引;打開文件描述符緩沖。
- 無緩存的反向代理加速,簡單的負載均衡和容錯.
- FastCGI,簡單的負載均衡和容錯.
- 模塊化的結(jié)構(gòu)。包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。如果由FastCGI或其它代理服務(wù)器處理單頁中存在的多個SSI,則這項處理可以并行運行,而不需要相互等待。
- Nginx專為性能優(yōu)化而開發(fā),性能是其最重要的考量,實現(xiàn)上非常注重效率。它支持內(nèi)核Poll模型,能經(jīng)受高負載的考驗,有報告表明能支持高達 50,000個并發(fā)連接數(shù)。
- Nginx具有很高的穩(wěn)定性。其它HTTP服務(wù)器,當遇到訪問的峰值,或者有人惡意發(fā)起慢速連接時,也很可能會導致服務(wù)器物理內(nèi)存耗盡頻繁交換,失去響應(yīng),只能重啟服務(wù)器。例如當前apache一旦上到200個以上進程,web響應(yīng)速度就明顯非常緩慢了。而Nginx采取了分階段資源分配技術(shù),使得它的CPU與內(nèi)存占用率非常低。nginx官方表示保持10,000個沒有活動的連接,它只占2.5M內(nèi)存,所以類似DOS這樣的攻擊對nginx來說基本上是毫無用處的。就穩(wěn)定性而言,nginx比lighthttpd更勝一籌。
- Nginx支持熱部署。它的啟動特別容易, 并且?guī)缀蹩梢宰龅?*24不間斷運行,即使運行數(shù)個月也不需要重新啟動。你還能夠在不間斷服務(wù)的情況下,對軟件版本進行進行升級。
2. lighttpd
Lighttpd 是一個德國人領(lǐng)導的開源Web服務(wù)器軟件,其根本的目的是提供一個專門針對高性能網(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就必須面對這些問題。
Fastcgi的優(yōu)點在于:
- 從穩(wěn)定性上看, fastcgi是以獨立的進程池運行來cgi,單獨一個進程死掉,系統(tǒng)可以很輕易的丟棄,然后重新分配新的進程來運行邏輯.
- 從安全性上看, fastcgi和宿主的server完全獨立, fastcgi怎么down也不會把server搞垮,
- 從性能上看, fastcgi把動態(tài)邏輯的處理從server中分離出來, 大負荷的IO處理還是留給宿主server, 這樣宿主server可以一心一意作IO,對于一個普通的動態(tài)網(wǎng)頁來說, 邏輯處理可能只有一小部分, 大量的圖片等靜態(tài)IO處理完全不需要邏輯程序的參與(注1)
- 從擴展性上講, fastcgi是一個中立的技術(shù)標準, 完全可以支持任何語言寫的處理程序(php,JAVA,Python…)
3.apache
Apache是世界使用排名第一的Web服務(wù)器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。它快速、可靠并且可通過簡單的API擴充,將Perl/Python等解釋器編譯到服務(wù)器中。
apache 的特性:
- 幾乎可以運行在所有的計算機平臺上;
- 支持最新的http/1.1協(xié)議 ;
- 簡單而且強有力的基于文件的配置(httpd.conf);
- 支持通用網(wǎng)關(guān)接口(cgi) ;
- 支持虛擬主機;
- 支持http認證;
- 集成perl;
- 集成的代理服務(wù)器;
- 可以通過web瀏覽器監(jiān)視服務(wù)器的狀態(tài), 可以自定義日志.;
- 支持服務(wù)器端包含命令(ssi);
- 支持安全socket層(ssl);
- 具有用戶會話過程的跟蹤能力;
- 支持fastcgi;
- 支持java servlets;
二.3種WEB服務(wù)器的比較:
ApacheNginxLighttpdproxy代理非常好非常好一般rewriter好非常好一般fcgi不好好非常好熱部署不支持支持不支持系統(tǒng)壓力比較很大很小比較小穩(wěn)定性好非常好不好安全性好一般一般技術(shù)支持非常好很少一般靜態(tài)文件處理一般非常好好vhosts支持不支持支持反向代理一般非常好一般session sticky支持不支持不支持
注:在相對比較大的網(wǎng)站,節(jié)約下來的服務(wù)器成本無疑是客觀的。而有些小型網(wǎng)站往往服務(wù)器不多,如果采用 Apache 這類傳統(tǒng) Web 服務(wù)器,似乎也還能撐過去。但有其很明顯的弊端:Apache 在處理流量爆發(fā)的時候(比如爬蟲或者是 Digg 效應(yīng)) 很容易過載,這樣的情況下采用 Nginx 最為合適。
建議方案:
Apache 后臺服務(wù)器(主要處理php及一些功能請求 如:中文url)
Nginx 前端服務(wù)器(利用它占用系統(tǒng)資源少得優(yōu)勢來處理靜態(tài)頁面大量請求)
Lighttpd 圖片服務(wù)器
總體來說,隨著nginx功能得完善將使他成為今后web server得主流。
大網(wǎng)站一般都幾個一起用, 前邊放的nginx, 后邊放在lighttpd, 從上面的性能表就看得出,而apache比較綜合性, 建中小網(wǎng)站比較合適, 功能強大, 應(yīng)用廣泛。