PHP簡(jiǎn)介與網(wǎng)站架構(gòu)解析.ppt_第1頁(yè)
PHP簡(jiǎn)介與網(wǎng)站架構(gòu)解析.ppt_第2頁(yè)
PHP簡(jiǎn)介與網(wǎng)站架構(gòu)解析.ppt_第3頁(yè)
PHP簡(jiǎn)介與網(wǎng)站架構(gòu)解析.ppt_第4頁(yè)
PHP簡(jiǎn)介與網(wǎng)站架構(gòu)解析.ppt_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余36頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

5/11/2020,PHP簡(jiǎn)介與網(wǎng)站架構(gòu),顧曾,5/11/2020,PHP簡(jiǎn)介與網(wǎng)站架構(gòu),PHP簡(jiǎn)介PHP發(fā)展與現(xiàn)狀PHP特性PHP框架網(wǎng)站架構(gòu),5/11/2020,簡(jiǎn)介,5/11/2020,簡(jiǎn)介-PHP是什么,RasmusLerdorf,PHP之父PHP(PHP:HypertextPreprocessor),一種開(kāi)源腳本語(yǔ)言,原名PersonalHomePage混合了C、Java、Perl以及PHP自創(chuàng)的語(yǔ)法,入門(mén)門(mén)檻較低,易于學(xué)習(xí),使用廣泛,主要適用于Web開(kāi)發(fā)領(lǐng)域,PHP的文件后綴名為*.php,可以運(yùn)行在Linux/Windows/Mac,支持MySQL、PostgreSQL、Oracle、Sybase、Informix和MicrosoftSQLServer不需要任何費(fèi)用,官網(wǎng),5/11/2020,簡(jiǎn)介-應(yīng)用,服務(wù)器端,嵌入在HTML并由服務(wù)器解釋。所有PHP開(kāi)發(fā)的網(wǎng)站、網(wǎng)絡(luò)系統(tǒng)均是這種用途,使用PHP99.9%用在此方面。開(kāi)發(fā)命令行腳本程式客戶(hù)端的GUI應(yīng)用程式,5/11/2020,發(fā)展與現(xiàn)狀,5/11/2020,發(fā)展,19951.02.019973.02000-5-224.02004-07-135.0.02005-11-245.1.02006-11-025.2.02009-06-305.3.02009-12-175.2.122012-03-015.4.02012-11-225.3.192013-06-205.5.02013-12-125.3.282014-02-065.4.252014-02-065.5.9,5/11/2020,現(xiàn)狀,你所知道的很多網(wǎng)站都有PHP的影子,包括Google、百度、網(wǎng)易、新浪、搜狐、阿里巴巴、奇虎、eBay、騰訊、Yahoo、金山等。全球互聯(lián)網(wǎng)網(wǎng)站中,有40%-60%使用著PHP技術(shù),國(guó)內(nèi)大多數(shù)的網(wǎng)站都在使用PHP開(kāi)發(fā)。AlexaTOP500中國(guó)網(wǎng)站排名,有394家使用了PHP。,5/11/2020,特性,5/11/2020,特性,開(kāi)源、免費(fèi)、開(kāi)放、可擴(kuò)展快捷,所見(jiàn)即所改跨平臺(tái)效率高,相對(duì)于CGI、Perl和ASP面向?qū)ο髮?zhuān)業(yè)專(zhuān)注基于服務(wù)器端簡(jiǎn)單的語(yǔ)言,嵌入HTML,5/11/2020,框架,5/11/2020,框架,5/11/2020,框架,在項(xiàng)目開(kāi)發(fā)中,一些架構(gòu)和代碼都是重復(fù)的,為了避免重復(fù)勞動(dòng),于是各種各樣的框架誕生了。采用框架的益處:統(tǒng)一開(kāi)發(fā)規(guī)范程序設(shè)計(jì)模式遵循開(kāi)發(fā)框架的各種約定無(wú)論在編碼還是以后的維護(hù)過(guò)程中都是易于管理的框架會(huì)集成豐富的類(lèi)庫(kù)、函數(shù)庫(kù),提升開(kāi)發(fā)的效率,加快軟件開(kāi)發(fā)有助于創(chuàng)建更加穩(wěn)定和安全的應(yīng)用程序,5/11/2020,框架,PHP框架真正的發(fā)展要從php5開(kāi)始,所有的框架都有幾個(gè)共同特點(diǎn):?jiǎn)我蝗肟贛VC模式類(lèi)自動(dòng)加載URL處理統(tǒng)一的輸入和錯(cuò)誤處理可擴(kuò)展CURD操作(數(shù)據(jù)庫(kù)操作的封裝)未來(lái)的PHP開(kāi)發(fā)框架同時(shí)也需要具備幾個(gè)特點(diǎn):1.采用更多PHP的新特性2.擁有更豐富可擴(kuò)展的開(kāi)發(fā)包3.文檔豐富4.社區(qū)活躍,5/11/2020,框架,國(guó)內(nèi)框架ThinkPHP,Canphp,KYPHP,InitPHP,SpeedPHP,CdvPHP國(guó)外著名框架ZendFramework,Codeigniter,FuelPHP,Laraval,Phalcon,CakePHP,Symfony,Yii,5/11/2020,網(wǎng)站架構(gòu),5/11/2020,網(wǎng)站架構(gòu),目的保證網(wǎng)站的正常訪(fǎng)問(wèn),快速響應(yīng)手段/方法根據(jù)網(wǎng)站當(dāng)前的發(fā)展要求,相應(yīng)調(diào)整軟硬件資源,適應(yīng)當(dāng)前要求并具有前瞻性架構(gòu)沒(méi)有標(biāo)配,且在不斷變化中,但圍繞的重點(diǎn)離不開(kāi)Web服務(wù)器、代理/緩存、DB、負(fù)載均衡、分布式存儲(chǔ)。,5/11/2020,網(wǎng)站架構(gòu)-WEB服務(wù)器,Apache世界上用得最多的Web服務(wù)器,市場(chǎng)占有率達(dá)60%左右。源代碼開(kāi)放,支持跨平臺(tái)的應(yīng)用(可以運(yùn)行在幾乎所有的Unix、Windows、Linux、Mac系統(tǒng)平臺(tái)上)。Apache的模塊支持非常豐富,屬于重量級(jí)產(chǎn)品,因此在速度、性能上不及其他輕量級(jí)Web服務(wù)器,所消耗的內(nèi)存也比其他Web服務(wù)器要高。官方網(wǎng)站:。,5/11/2020,網(wǎng)站架構(gòu)-WEB服務(wù)器,Lighttpd一款輕量級(jí)Web服務(wù)器,其目標(biāo)是提供一個(gè)專(zhuān)門(mén)針對(duì)高性能網(wǎng)站,安全、快速、兼容性好并且靈活的WebServer環(huán)境。內(nèi)存開(kāi)銷(xiāo)低、CPU占用率低、效能好、模塊豐富。支持FastCGI、CGI、URL重寫(xiě)及Alias等重要功能。支持PHP,不支持緩存,是Nginx的競(jìng)爭(zhēng)對(duì)手之一。官方網(wǎng)站:,5/11/2020,網(wǎng)站架構(gòu)-WEB服務(wù)器,Nginx高性能的HTTP和反向代理服務(wù)器,占有內(nèi)存少,并發(fā)能力強(qiáng),處理靜態(tài)頁(yè)面是最優(yōu)秀的,因它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。中國(guó)大陸使用nginx網(wǎng)站用戶(hù)有新浪、網(wǎng)易、騰訊等。官網(wǎng):,5/11/2020,網(wǎng)站架構(gòu)-WEB服務(wù)器比較,5/11/2020,網(wǎng)站架構(gòu)-代理緩存服務(wù)器,Squid是一種代理服務(wù)器軟件,又稱(chēng)為Squidcache。作為網(wǎng)頁(yè)服務(wù)器的前置cache服務(wù)器緩存相關(guān)請(qǐng)求來(lái)提高Web服務(wù)器的速度。官網(wǎng):,5/11/2020,網(wǎng)站架構(gòu)-負(fù)載均衡,負(fù)載均衡是由多臺(tái)服務(wù)器以對(duì)稱(chēng)的方式組成一個(gè)服務(wù)器集合,每臺(tái)服務(wù)器都具有等價(jià)的地位,都可以單獨(dú)對(duì)外提供服務(wù)而無(wú)須其他服務(wù)器的輔助。通過(guò)某種負(fù)載分擔(dān)技術(shù),將外部發(fā)送來(lái)的請(qǐng)求均勻分配到對(duì)稱(chēng)結(jié)構(gòu)中的某一臺(tái)服務(wù)器上,而接收到請(qǐng)求的服務(wù)器獨(dú)立地回應(yīng)客戶(hù)的請(qǐng)求。均衡負(fù)載能夠平均分配客戶(hù)請(qǐng)求到服務(wù)器列陣,籍此提供快速獲取重要數(shù)據(jù),解決大量并發(fā)訪(fǎng)問(wèn)服務(wù)問(wèn)題。這種群集技術(shù)可以用最少的投資獲得接近于大型主機(jī)的性能。負(fù)載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價(jià)有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。,5/11/2020,網(wǎng)站架構(gòu)-負(fù)載均衡分類(lèi),軟件負(fù)載均衡適用于一些中小型網(wǎng)站系統(tǒng),可以滿(mǎn)足一般的均衡負(fù)載需求。軟件負(fù)載均衡技術(shù)是在一個(gè)或多個(gè)服務(wù)器上安裝相應(yīng)的負(fù)載均衡軟件來(lái)實(shí)現(xiàn)。配置簡(jiǎn)單、操作也方便,最重要的是成本很低。硬件負(fù)載均衡需要額外的增加負(fù)載均衡器,成本比較高,所以適用于流量高的大型網(wǎng)站系統(tǒng)。在多臺(tái)服務(wù)器間安裝相應(yīng)的負(fù)載均衡設(shè)備,也就是負(fù)載均衡器來(lái)完成均衡負(fù)載,與軟件負(fù)載均衡技術(shù)相比,能達(dá)到更好的負(fù)載均衡效果。本地負(fù)載均衡是對(duì)本地服務(wù)器群進(jìn)行負(fù)載均衡處理。該技術(shù)通過(guò)對(duì)服務(wù)器進(jìn)行性能優(yōu)化,使流量能夠平均分配在服務(wù)器群中的各個(gè)服務(wù)器上,本地負(fù)載均衡技術(shù)不需要購(gòu)買(mǎi)昂貴的服務(wù)器或優(yōu)化現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)。全局負(fù)載均衡適用于擁有多個(gè)地域的服務(wù)器集群的大型網(wǎng)站系統(tǒng)。是對(duì)分布在各個(gè)地區(qū)的多個(gè)服務(wù)器進(jìn)行負(fù)載均衡處理,該技術(shù)可以通過(guò)對(duì)訪(fǎng)問(wèn)用戶(hù)的IP地理位置判定,自動(dòng)轉(zhuǎn)向地域最近點(diǎn)。,5/11/2020,網(wǎng)站架構(gòu)-負(fù)載均衡實(shí)現(xiàn)方式,DNS負(fù)載均衡DNS負(fù)載均衡技術(shù)是在DNS服務(wù)器中為同一個(gè)主機(jī)名配置多個(gè)IP地址,在應(yīng)答DNS查詢(xún)時(shí),DNS服務(wù)器對(duì)每個(gè)查詢(xún)將以DNS文件中主機(jī)記錄的IP地址按順序返回不同的解析結(jié)果,將客戶(hù)端的訪(fǎng)問(wèn)引導(dǎo)到不同的機(jī)器上去,使得不同的客戶(hù)端訪(fǎng)問(wèn)不同的服務(wù)器,從而達(dá)到負(fù)載均衡的目的。NAT負(fù)載均衡NAT負(fù)載均衡將一個(gè)外部IP地址映射為多個(gè)內(nèi)部IP地址,對(duì)每次連接請(qǐng)求動(dòng)態(tài)地轉(zhuǎn)換為一個(gè)內(nèi)部服務(wù)器的地址,將外部連接請(qǐng)求引到轉(zhuǎn)換得到地址的那個(gè)服務(wù)器上,從而達(dá)到負(fù)載均衡的目的??梢酝ㄟ^(guò)軟硬件方式來(lái)實(shí)現(xiàn)。反向代理負(fù)載均衡把將來(lái)自internet上的連接請(qǐng)求以反向代理的方式動(dòng)態(tài)地轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的多臺(tái)服務(wù)器進(jìn)行處理,從而達(dá)到負(fù)載均衡的目的。能以軟件方式來(lái)實(shí)現(xiàn),也可以在高速緩存器、負(fù)載均衡器等硬件設(shè)備上實(shí)現(xiàn)?;旌闲拓?fù)載均衡在有些大型網(wǎng)絡(luò),由于多個(gè)服務(wù)器群內(nèi)硬件設(shè)備、各自的規(guī)模、提供的服務(wù)等的差異,給每個(gè)服務(wù)器群采用不同的負(fù)載均衡方式,然后又在這多個(gè)服務(wù)器群間再一次負(fù)載均衡或群集起來(lái)以一個(gè)整體向外界提供服務(wù)(即把這多個(gè)服務(wù)器群當(dāng)做一個(gè)新的服務(wù)器群),從而達(dá)到最佳的性能。我們將這種方式稱(chēng)之為混合型負(fù)載均衡。此種方式有時(shí)也用于單臺(tái)均衡設(shè)備的性能不能滿(mǎn)足大量連接請(qǐng)求的情況下。,5/11/2020,網(wǎng)站架構(gòu)-總體方案,Apache用于后臺(tái)服務(wù)器(主要處理php及一些功能請(qǐng)求)Nginx用于前端服務(wù)器(利用它占用系統(tǒng)資源少得優(yōu)勢(shì)來(lái)處理靜態(tài)頁(yè)面大量請(qǐng)求)Lighttpd用于圖片服務(wù)器雖然我們希望網(wǎng)站一開(kāi)始就能有一個(gè)很好的架構(gòu),但馬克思告訴我們事物是在發(fā)展中不斷前進(jìn)的,網(wǎng)站架構(gòu)也是隨著業(yè)務(wù)的擴(kuò)大、用戶(hù)的需求不斷完善的,下面是一個(gè)網(wǎng)站架構(gòu)逐步發(fā)展的基本過(guò)程。,5/11/2020,網(wǎng)站架構(gòu)-總體方案,Nginx,Squidcache,Apache/PHP,MySQL,靜態(tài)文件cssjsimg,Squidcache,Apache/PHP,MySQL,分布式存儲(chǔ),.,.,.,網(wǎng)站架構(gòu),不同類(lèi)型、不同流量的網(wǎng)站架構(gòu)不一而足,以下從小型到大型的架構(gòu)供參考。,5/11/2020,網(wǎng)站架構(gòu)一,物理分離WebServer和數(shù)據(jù)庫(kù),5/11/2020,網(wǎng)站架構(gòu)二,增加頁(yè)面緩存,5/11/2020,網(wǎng)站架構(gòu)三,增加頁(yè)面片段緩存,5/11/2020,網(wǎng)站架構(gòu)四,數(shù)據(jù)緩存,5/11/2020,網(wǎng)站架構(gòu)五,增加WebServer,5/11/2020,網(wǎng)站架構(gòu)六,數(shù)據(jù)庫(kù)集群或分庫(kù),5/11/2020,網(wǎng)站架構(gòu)七,分表、DAL和分布式緩存,5/11/2020,網(wǎng)站架構(gòu)八,增加更多的WebServer,5/11/2020,網(wǎng)站架構(gòu)九,數(shù)據(jù)讀寫(xiě)分離和廉價(jià)存儲(chǔ),5/11/2020,網(wǎng)站架構(gòu)-問(wèn)題,當(dāng)然,隨著架構(gòu)的變大,需解決的問(wèn)題也會(huì)越多,如:改動(dòng)時(shí)相當(dāng)?shù)牟环奖阍愀獾膹?fù)用性出問(wèn)題的時(shí)候不是很好查常用的解決方式是將應(yīng)用進(jìn)行拆分,成為一個(gè)分布式的應(yīng)用,同時(shí)面臨的問(wèn)題:拆成分布式后需要提供一個(gè)高性能、穩(wěn)定的通信框架,并且需要支持多種不同的通信和遠(yuǎn)程調(diào)用方式將一個(gè)龐大的應(yīng)用拆分需要耗費(fèi)很長(zhǎng)的時(shí)間,需要進(jìn)行業(yè)務(wù)的整理和系統(tǒng)依賴(lài)關(guān)系的控制等如何對(duì)運(yùn)行狀況管理、錯(cuò)誤追蹤、調(diào)優(yōu)、監(jiān)控和報(bào)警等問(wèn)題無(wú)時(shí)不在,架構(gòu)永無(wú)止境。,5/11/2020,網(wǎng)站架構(gòu)-總結(jié),網(wǎng)站架構(gòu)的關(guān)鍵是查找影響網(wǎng)站響應(yīng)速度的結(jié)點(diǎn)是WEB服務(wù)器還是數(shù)據(jù)庫(kù)??偟膩?lái)說(shuō),WEB服務(wù)器演變的順序:代理緩存-頁(yè)面緩存-增加server/集群數(shù)據(jù)庫(kù)演變順序

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論