搜尋
首頁後端開發php教程三大WEB伺服器比較分析(apache ,lighttpd,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
高流量網站的PHP性能調整高流量網站的PHP性能調整May 14, 2025 am 12:13 AM

TheSecretTokeEpingAphp-PowerEdwebSiterUnningSmoothlyShyunderHeavyLoadInVolvOLVOLVOLDEVERSALKEYSTRATICES:1)emplactopCodeCachingWithOpcachingWithOpCacheToreCescriptexecution Time,2)使用atabasequercachingCachingCachingWithRedataBasEndataBaseLeSendataBaseLoad,3)

PHP中的依賴注入:初學者的代碼示例PHP中的依賴注入:初學者的代碼示例May 14, 2025 am 12:08 AM

你應該關心DependencyInjection(DI),因為它能讓你的代碼更清晰、更易維護。 1)DI通過解耦類,使其更模塊化,2)提高了測試的便捷性和代碼的靈活性,3)使用DI容器可以管理複雜的依賴關係,但要注意性能影響和循環依賴問題,4)最佳實踐是依賴於抽象接口,實現鬆散耦合。

PHP性能:是否可以優化應用程序?PHP性能:是否可以優化應用程序?May 14, 2025 am 12:04 AM

是的,優化papplicationispossibleandessential.1)empartcachingingcachingusedapcutorediucedsatabaseload.2)優化的atabaseswithexing,高效Quereteries,and ConconnectionPooling.3)EnhanceCodeWithBuilt-unctions,避免使用,避免使用ingglobalalairaiables,並避免使用

PHP性能優化:最終指南PHP性能優化:最終指南May 14, 2025 am 12:02 AM

theKeyStrategiestosigantificallyBoostPhpaPplicationPerformenCeare:1)UseOpCodeCachingLikeLikeLikeLikeLikeCacheToreDuceExecutiontime,2)優化AtabaseInteractionswithPreparedStateTementStatementStatementAndProperIndexing,3)配置

PHP依賴注入容器:快速啟動PHP依賴注入容器:快速啟動May 13, 2025 am 12:11 AM

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增強codemodocultion,可驗證性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

PHP中的依賴注入與服務定位器PHP中的依賴注入與服務定位器May 13, 2025 am 12:10 AM

選擇DependencyInjection(DI)用於大型應用,ServiceLocator適合小型項目或原型。 1)DI通過構造函數注入依賴,提高代碼的測試性和模塊化。 2)ServiceLocator通過中心註冊獲取服務,方便但可能導致代碼耦合度增加。

PHP性能優化策略。PHP性能優化策略。May 13, 2025 am 12:06 AM

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)啟用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替換loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

PHP電子郵件驗證:確保正確發送電子郵件PHP電子郵件驗證:確保正確發送電子郵件May 13, 2025 am 12:06 AM

phpemailvalidation invoLvesthreesteps:1)格式化進行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

See all articles

熱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

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

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Mac版

SublimeText3 Mac版

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

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。