首頁 後端開發 php教程 三大WEB伺服器比較分析(apache ,lighttpd,nginx)

三大WEB伺服器比較分析(apache ,lighttpd,nginx)

Jul 30, 2016 pm 01:31 PM
apache fastcgi linux nbsp nginx

1. lighttpd

Lighttpd是一個具有非常低的記憶體開銷,cpu佔用率低,效能好,以及豐富的模組等特性。 lighttpd是眾多OpenSource輕量級的web server中較為優秀的一個。支援FastCGI, CGI, Auth, 輸出壓縮(output compress), URL重寫, Alias等重要功能。

Lighttpd使用fastcgi方式運行php,它會使用很少的PHP進程響應很大的並發量。

Fastcgi的優點在於:

·         從穩定性上來看, fastcgi是以獨立的進程池運作來cgi,單獨一個進程死掉,系統可以很輕易的丟棄,然後重新分配新的進程池運作來cgi,單獨一個進程死掉,系統可以很輕易的丟棄,然後重新分配新的進程池運作邏輯.

·         從安全性上看, fastcgi和宿主的server完全獨立, fastcgi怎麼down也不會把server搞垮,

·  fast  的IO處理還是留給宿主server, 這樣宿主server可以一心一意作IO,對於一個普通的動態網頁來說,邏輯處理可能只有一小部分, 大量的圖片等靜態IO處理完全不需要邏輯程序的參與(註1)

·         從擴展性上來, fastcgi是一個中立的技術標準, 完全可以支援任何語言寫的處理程序(php,java,python...)

2.apache

apache是​​世界排名第。一的web伺服器, 根據netcraft(

www.netsraft.co.uk)所作的調查,世界上百分之五十以上的web伺服器在使用apache.

1995年4月, 最早的apache(0.6. 2版)由apache group發表發行. apache group 是一個完全透過internet進行運作的非營利機構, 由它來決定apache web伺服器的標準發行版中應該包含哪些內容. 準許任何人修改隱錯, 提供新的特徵和將它移植到新的平台上, 以及其它的工作. 當新的代碼被提交給apache group時, 該團體審核它的具體內容, 進行測試, 如果認為滿意, 該代碼就會被集成到apache的主要發行版中.

apache 的特性:

1) 幾乎可以運行在所有的計算機平台上.

2) 支持最新的http/1.1協議

3) 而且強有力的基於文件的簡單配置(httpd.conf).

4) 支援通用閘道介面(cgi)

5) 支援虛擬主機.

6) 支援http認證.

7) 整合perl.

8) 9) 可以透過網頁瀏覽器監視伺服器的狀態, 可以自訂日誌.

10) 支援伺服器端包含指令(ssi).

11) 支援安全socket層(ssl).

12) 具有使用者工作階段的追蹤能力.

13) 支援fastcgi

14) 支援java servlets

3.nginx

Nginx是俄羅斯人編寫的十分輕量級的HTTP伺服器,Nginx,它的發音為“engine X”一個高效能的HTTP和反向代理伺服器,同時也是一個IMAP/POP3/SMTP 代理伺服器. Nginx是由俄羅斯人 Igor Sysoev為俄羅斯訪問量第二的 Rambler.ru站點開發.

Nginx以事件驅動的方式編寫,所以有非常好的性能,同時也是一個非常高效的反向代理、負載平衡。其擁有匹配 Lighttpd的效能,同時還沒有Lighttpd的記憶體洩漏問題,而且Lighttpd的mod_proxy也有一些問題並且很久沒有更新。但是Nginx並不支援cgi方式運行,原因是可以減少因此帶來的一些程式上的漏洞。所以必須使用FastCGI方式來執行PHP程式。

nginx做為HTTP伺服器,有以下幾項基本特性:

處理靜態文件,索引文件以及自動索引;開啟文件描述符緩衝.

無快取的反向代理加速,簡單的負載平衡與容錯.

FastCGI,簡單的負載平衡與容錯.

模組化的結構。包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。如果由FastCGI或其它代理伺服器處理單頁中存在的多個SSI,則這項處理可以並行運行,而不需要互相等待。

Nginx專為性能最佳化而開發,性能是其最重要的考慮,實現上非常注重效率。它支援核心Poll模型,能經受高負載的考驗,有報告顯示能支援高達 50,000個並發連接數。

Nginx具有很高的穩定性。其它HTTP伺服器,當遇到存取的峰值,或有人惡意發起慢速連線時,也很可能會導致伺服器實體記憶體耗盡頻繁交換,失去回應,只能重啟伺服器。例如目前apache一旦上到200個以上進程,web響應速度就明顯非常緩慢了。而Nginx採取了分階段資源分配技術,使得它的CPU與記憶體佔用率非常低。 nginx官方表示保持10,000個沒有活動的連接,它只佔2.5M內存,所以類似DOS這樣的攻擊對nginx來說基本上是毫無用處的。就穩定性而言,nginx比lighthttpd更勝一籌。

Nginx支援熱部署。它的啟動特別容易, 並且幾乎可以做到7*24不間斷運行,即使運行數月也不需要重新啟動。你也能夠在不間斷服務的情況下,對軟體版本進行升級。


Proxy代理非常好非常好一般Rewriter好非常好系統壓力比較穩定性性好一般一般文件處理一般非常好好Vhosts虛擬主機支援反向代理一般Session sticky支持

server

Apache

Apache

Lighttpd

Fcgi

不好

熱部署

不支援

很大

很小

比較小

非常好

一般

註:在相對比較大的網站,節省下來的伺服器成本無疑是客觀的。而有些小型網站往往伺服器不多,如果採用 Apache 這類傳統 Web 伺服器,似乎也還能撐過去。但有其很明顯的弊端: Apache 在處理流量爆發的時候(例如爬蟲或者是 Digg 效應) 很容易過載,這樣的情況下採用 Nginx 最為合適。

建議方案:

Apache 後台伺服器(主要處理php及一些功能請求如:中文佔用系統資源少得優勢來處理靜態頁面大量請求)Lighttpd 

圖片伺服器總體來說,隨著

nginx總體來說,隨著

nginx

得完善將使他成為今得盡宜性。 將分別測試3種軟體在動態頁面和靜態頁面要求及併發時的回應時間l
        

n/-c (ab參數)

cpu%Mem

RequestsperSecond( 100000/200💎 732.4137.2472.8丟78.9 Time taken for tests100000/10034.6140943.666. 35.6

64

60

462.75

21.6

100000/500

83

60

94

60

126.6

NGINX

n/-c(ab參數)

cpu%

questsperSecond

100000/200

110
924.32 10.818100000/20041.142.3190633.64

100000/500

34.36🜎

10.956

100000/1000

37

160

832.59

12.106

)

cpu%

Mem

RequestsperSecond

Time taken for tests

100000/100

690.72

14.47

180

685.39

14.59

15.78

15.7815.7843.1200

l        動態頁內部社群首頁

LIGHTTPD

15.78

15.78

100000/1000

54 32.858
Mem

RequestsperSecond

Time taken for tests

1000/100

50

1000/200

52

210

30.43

25.79

38.76

1000/1000
62

250

24.83

40.28

n/-c(ab參數)
cpu%

Mem

RequestsperSecond

Time taken for tests

250
83.12

12.3055626058.9916.95158cpu%

1000/200

55.8

250

74.0550

1000/500

1000/1000

.

23.347

APACHE

n/ -c(ab參數)

Mem

RequestsperSecond

60

200
27.37

36.541

100000/200

23.82

41.981

100000/500

100000/50036.79636.796        LIGHTTPDMem100000/20047 22140.6471.103

100000/500

73

150

20.59

48.562

200

27.18

36.796

l

PHPINFO函數頁

(

RequestsperSecond

Time taken for tests

100000/100

45

1000000/500

1000000/500

52.80

NGINX

189.386

100000/1000

在請求到4840時測試測試程序死掉

100000/ 10070140.5771.140 135883. 75.657cpu%MemRequestsperSecond

n/-c(ab參數)

cpu%

Time taken for tests

120

143.46

69.70669.70620370707070707070707070707070703333333333333333333人

72

130

100000/500

73

150

100000/1000

77

160

132.18

APACHE 

APACHE 

Time taken for tests

100000/10019041.44341.443236.74網址名稱   作業系統   網頁伺服器Sougou   FreeBSD apache 2.2.46.視訊類

40.694

100000/200

72

245.79

40.684

200

241.29

100000/1000

77

220

236.74

1.入口網站類別:
搜狐LINUX           apache 1.3.37

新浪     LINUX             nginx 0.6.31
163      LINUX           apache 2.2.6 1.0

Google   linux           gws
Hao123   linux          apache 2.2.4

4. 電子郵箱類
126        linux         apache

Hotmail    win2003      microsoft-IIS 6.0
新浪郵箱    F5 Big-IP    apache 2.2.8

263        linux         apache 2.2 .6
5. 博客類

新浪博客    linux          nginx 0.5.35
 linux          nginx 0.6.32

天涯部落格    F5 Big-IP      Microsoft-IIS/5.0
優酷         linux          apache

馬鈴薯          linux           apache六間房       linux        

以上就介紹了三大WEB伺服器比較分析(apache ,lighttpd,nginx),包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1668
14
CakePHP 教程
1426
52
Laravel 教程
1329
25
PHP教程
1273
29
C# 教程
1256
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

laravel安裝代碼 laravel安裝代碼 Apr 18, 2025 pm 12:30 PM

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

Linux上的Docker:Linux系統的容器化 Linux上的Docker:Linux系統的容器化 Apr 22, 2025 am 12:03 AM

Docker在Linux上重要,因為Linux是其原生平台,提供了豐富的工具和社區支持。 1.安裝Docker:使用sudoapt-getupdate和sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io。 2.創建和管理容器:使用dockerrun命令,如dockerrun-d--namemynginx-p80:80nginx。 3.編寫Dockerfile:優化鏡像大小,使用多階段構建。 4.優化和調試:使用dockerlogs和dockerex

MACOS和Linux:比較其功能 MACOS和Linux:比較其功能 Apr 18, 2025 am 12:19 AM

macOS適合重視用戶體驗和硬件軟件集成,Linux適合需要高度可定制性和靈活性。 macOS設計簡潔,易用,與蘋果產品無縫整合;Linux開源,適應各種環境,社區資源豐富。

nginx和apache:了解關鍵差異 nginx和apache:了解關鍵差異 Apr 26, 2025 am 12:01 AM

NGINX和Apache各有優劣,選擇應基於具體需求。 1.NGINX適合高並發場景,因其異步非阻塞架構。 2.Apache適用於需要復雜配置的低並發場景,因其模塊化設計。

怎樣在C  中處理高DPI顯示? 怎樣在C 中處理高DPI顯示? Apr 28, 2025 pm 09:57 PM

在C 中處理高DPI顯示可以通過以下步驟實現:1)理解DPI和縮放,使用操作系統API獲取DPI信息並調整圖形輸出;2)處理跨平台兼容性,使用如SDL或Qt的跨平台圖形庫;3)進行性能優化,通過緩存、硬件加速和動態調整細節級別來提升性能;4)解決常見問題,如模糊文本和界面元素過小,通過正確應用DPI縮放來解決。

如何理解C  中的DMA操作? 如何理解C 中的DMA操作? Apr 28, 2025 pm 10:09 PM

DMA在C 中是指DirectMemoryAccess,直接內存訪問技術,允許硬件設備直接與內存進行數據傳輸,不需要CPU干預。 1)DMA操作高度依賴於硬件設備和驅動程序,實現方式因係統而異。 2)直接訪問內存可能帶來安全風險,需確保代碼的正確性和安全性。 3)DMA可提高性能,但使用不當可能導致系統性能下降。通過實踐和學習,可以掌握DMA的使用技巧,在高速數據傳輸和實時信號處理等場景中發揮其最大效能。

See all articles