關(guān)于LAMP網(wǎng)站架構(gòu)方案分析
操作系統(tǒng)Linux操作系統(tǒng)有很多個不同的發(fā)行版,如RedHatEnterpriseLinux、SUSELinuxEnterprice、Debian、Ubuntu、CentOS等,每一個發(fā)行版都有自己的特色,比如RHEL的穩(wěn)定,Ubunt
操作系統(tǒng)
Linux操作系統(tǒng)有很多個不同的發(fā)行版,如RedHatEnterpriseLinux、SUSELinuxEnterprice、Debian、Ubuntu、CentOS等,每一個發(fā)行版都有自己的特色,比如RHEL的穩(wěn)定,Ubuntu的易用,基于穩(wěn)定性和性能的考慮,操作系統(tǒng)選擇CentOS(CommunityENTerpriseOperatingSystem)是一個理想的方案。
CentOS(CommunityENTerpriseOperatingSystem)是Linux發(fā)行版之一,是RHEL/RedHatEnterpriseLinux的精簡免費(fèi)版,和RHEL為同樣的源代碼,不過,RHEL和SUSELE等企業(yè)版,提供的升級服務(wù)均是收費(fèi)升級,無法免費(fèi)在線升級,因此要求免費(fèi)的高度穩(wěn)定性的服務(wù)器可以用CentOS替代RedHatEnterpriseLinux使用。
LAMP網(wǎng)站架構(gòu)圖
Web服務(wù)器、緩存和PHP加速
Apache是LAMP架構(gòu)最核心的WebServer,開源、穩(wěn)定、模塊豐富是Apache的優(yōu)勢。但Apache的缺點(diǎn)是有些臃腫,內(nèi)存和CPU開銷大,性能上有損耗,不如一些輕量級的Web服務(wù)器(例如nginx)高效,輕量級的Web服務(wù)器對于靜態(tài)文件的響應(yīng)能力來說遠(yuǎn)高于Apache服務(wù)器。
Apache做為WebServer是負(fù)載PHP的最佳選擇,如果流量很大的話,可以采用nginx來負(fù)載非PHP的Web請求。nginx是一個高性能的HTTP和反向代理服務(wù)器,Nginx以它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。Nginx不支持PHP和CGI等動態(tài)語言,但支持負(fù)載均衡和容錯,可和Apache配合使用,是輕量級的HTTP服務(wù)器的首選。
Web服務(wù)器的緩存也有多種方案,Apache提供了自己的緩存模塊,也可以使用外加的Squid模塊進(jìn)行緩存,這兩種方式均可以有效的提高Apache的訪問響應(yīng)能力。SquidCache是一個Web緩存服務(wù)器,支持高效的緩存,可以作為網(wǎng)頁服務(wù)器的前置cache服務(wù)器緩存相關(guān)請求來提高Web服務(wù)器的速度,把Squid放在Apache的前端來緩存Web服務(wù)器生成的動態(tài)內(nèi)容,而Web應(yīng)用程序只需要適當(dāng)?shù)卦O(shè)置頁面實(shí)效時間即可。如訪問量巨大則可考慮使用memcache作為分布式緩存。
PHP的加速使用eAccelerator加速器,eAccelerator是一個自由開放源碼PHP加速器,優(yōu)化和動態(tài)內(nèi)容緩存,提高了性能PHP腳本的緩存性能,使得PHP腳本在編譯的狀態(tài)下,對服務(wù)器的開銷幾乎完全消除。它還有對腳本起優(yōu)化作用,以加快其執(zhí)行效率。使PHP程序代碼執(zhí)效率能提高1-10倍。