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