了解最新公司動態(tài)及行業(yè)資訊
1.1簡要說明
?是德國主導(dǎo)的開源Web服務(wù)器軟件,內(nèi)存開銷極低,CPU占用率低,性能好,模塊豐富。支持、CGI、Auth、輸出壓縮()、URL重寫、別名等重要功能。
它的使用方式是在運行 PHP 時,會使用很少的 PHP 進(jìn)程來響應(yīng)大量的并發(fā)。
1.2 優(yōu)點
1)從穩(wěn)定性的角度來看,CGI是由一個獨立的進(jìn)程池運行的。如果單個進(jìn)程死了,系統(tǒng)可以很容易地丟棄它,然后重新分配一個新進(jìn)程來運行邏輯;
2)從安全的角度來看,它完全獨立于主機(jī),再怎么down也不會壞掉;
3)從性能上看,動態(tài)邏輯處理與它分離,重負(fù)載的IO處理留給宿主機(jī),讓宿主機(jī)專注于IO。對于一個普通的動態(tài)網(wǎng)頁,邏輯處理可能只是一個小部分,大量圖片等靜態(tài)IO處理根本不需要邏輯程序的參與(注意1)
4)在可擴(kuò)展性方面,它是一個中立的技術(shù)標(biāo)準(zhǔn),可以完全支持用任何語言(php、java、...)編寫的處理程序
1.3 支持的操作系統(tǒng)
2、
2.1 簡要說明
?是世界上排名第一的網(wǎng)絡(luò)服務(wù)器。根據(jù)調(diào)查,全球超過 50% 的網(wǎng)絡(luò)服務(wù)器正在使用中。
?它是一種基于流程的結(jié)構(gòu)。進(jìn)程比線程消耗更多的系統(tǒng)開銷,不適合多處理器環(huán)境。因此,在擴(kuò)展網(wǎng)站時,通常是增加服務(wù)器或擴(kuò)展集群節(jié)點,而不是增加處理。設(shè)備。Yahoo!、W3、Times等世界上很多著名的網(wǎng)站都是產(chǎn)品。
2.2 優(yōu)點
2.3 支持的操作系統(tǒng)
3、NGINX
3.1簡要說明
? Nginx 是俄羅斯人編寫的一個非常輕量級的 HTTP 服務(wù)器。Nginx,讀作“X”,是一個高性能的HTTP和反向代理服務(wù)器,同時也是一個IMAP/POP3/SMTP代理服務(wù)器。Nginx 是由俄羅斯伊戈爾為俄羅斯訪問量第二大的 .ru 網(wǎng)站開發(fā)的。Nginx是一個輕量級的Web服務(wù)器/反向代理服務(wù)器和電子郵件(IMAP/POP3)代理服務(wù)器服務(wù)器運維,在類BSD協(xié)議下發(fā)布。它的特點是內(nèi)存少,并發(fā)能力強。,其實并發(fā)nginx的能力在同類型的web服務(wù)器中確實是比較好的,中國大陸nginx網(wǎng)站的用戶包括:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。
Nginx 是用事件驅(qū)動(epoll)的方式編寫的,所以性能非常好,同時也是一個非常高效的反向代理和負(fù)載均衡。研究表明,它可以支持多達(dá) 50,000 個并發(fā)連接。. 它具有匹配的性能,沒有內(nèi)存泄漏問題,并且它有一些問題并且很長時間沒有更新。但是 Nginx 不支持 cgi 操作,因為它可以減少一些程序漏洞。所以必須有一種方法來執(zhí)行PHP程序。
3.2優(yōu)點
3.3 操作系統(tǒng)
3.4 推薦架構(gòu)
Nginx作為前端的web緩存系統(tǒng),通常有如下架構(gòu)
這種結(jié)構(gòu)的優(yōu)點:
可以使用 nginx 前端進(jìn)行很多復(fù)雜的配置服務(wù)器運維,這些配置以前在 Squid 中是不可能做的或者很麻煩的,比如目錄防盜鏈。nginx前端可以直接轉(zhuǎn)發(fā)一些不需要緩存的請求。因為nginx的效率比squid要高,所以在某些情況下,可以利用nginx的緩存來減輕squid的壓力??梢詫崿F(xiàn)url hash等分配策略,前端可以開啟gzip壓縮,這樣后面的squid緩存就是純未壓縮的文檔,可以避免很多不必要的穿透。因為nginx比較穩(wěn)定,lvs不需要經(jīng)常調(diào)整,可以通過nginx調(diào)整。squid默認(rèn)打開的文件數(shù)是1024個以上,但是要處理的請求也不少??梢蚤_啟nginx的日志功能代替squid,讓url在實時流量統(tǒng)計中準(zhǔn)確定位,不用再用低效的grep過濾。因為nginx的負(fù)載能力比squid高,所以在使用lvs分流的時候不需要特別均衡的分布,單點故障的概率比較低。
nginx和squid搭建的web服務(wù)器前端系統(tǒng)架構(gòu):
前端lvs和squid,按照安裝方法,打開epoll,復(fù)制配置文件,基本上問題不大。
這個架構(gòu)和架構(gòu)的區(qū)別也是關(guān)鍵點:加一個一級中層代理,中層代理的好處太多了:
gzip壓縮:可以通過nginx進(jìn)行壓縮,這樣后臺應(yīng)用服務(wù)器,無論是resin,甚至是iis還是其他怪異的服務(wù)器,都不必考慮壓縮的功能。負(fù)載均衡和故障屏蔽:nginx可以作為負(fù)載均衡代理,具有故障屏蔽功能,所以基于目錄甚至正則表達(dá)式來制定負(fù)載均衡策略就成了一個小案例。運維管理便捷,可針對各種情況制定靈活的方案。明確權(quán)限:這臺機(jī)器是不編寫程序的維護(hù)者的責(zé)任。程序員一般不需要管理這臺機(jī)器,所以如果出現(xiàn)問題,很容易找到合適的人。對于應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器,最好從維護(hù)者的視線中消失。我的目標(biāo)是這些服務(wù)能跑多久就跑多久,其他的一切都可以在外部處理。3種WEB服務(wù)器比較
以下是三個 Web 服務(wù)器的一些比較:
從上述分析比較中建議的一種選擇是:
稍后我會分享更多和 DBA 的內(nèi)容。有興趣的朋友可以關(guān)注一下~