LAMP解決方案
LAMP網站架構方案
LAMP(Linux- Apache-MySQL-PHP)網站架構是目前國際流行的Web框架,該框架包括:Linux作業系統,Apache網路伺服器,MySQL資料庫,Perl、PHP或者Python程式語言,
優勢:
和 Java/J2EE架構相比,LAMP具有Web資源豐富、輕量、快速開發等特點,微軟的.NET架構相比,LAMP具有通用、跨平臺、高效能、低價格的 優勢,因此LAMP無論是效能、質量還是價格都是企業搭建網站的首選平臺。
對於大流量、大併發量的網站系統架構來說:
硬體上使用高效能的伺服器、負載均衡、CDN等,
在軟體架構上:使用高效能的作業系統(OS)、高效能的網頁伺服器(Web Server)、高效能的資料庫(Database)、高效率的程式語言等。
下面我將從這幾點對其一一討論:
作業系統
免費的高度穩定性的伺服器可以用CentOS
Web伺服器、快取和PHP加速
Apache是LAMP架構最核心的WebServer,開源、穩定、模組豐富是Apache的優勢。
Apache的缺點:有些臃腫,記憶體和CPU開銷大,效能上有損耗,不如一些輕量級的Web伺服器(例如nginx)高效
輕量級的Web伺服器:對於靜態檔案的響應能力來說遠高於Apache伺服器。
Apache做為WebServer是負載PHP的最佳選擇,
如果流量很大的話,可以採用nginx來負載非PHP的Web請求。nginx是一個高效能的HTTP和反向代理服器,Nginx以它的穩定性、豐富的功能集、示例配置檔案和低系統資源的消耗而聞名。
Apache做為WebServer是負載PHP的最佳選擇,
如果流量很大的話,可以採用nginx來負載非PHP的Web請求。nginx是一個高效能的HTTP和反向代理服器,Nginx以它的穩定性、豐富的功能集、示例配置檔案和低系統資源的消耗而聞名。
Nginx不支援PHP和CGI等動態語言,但支援負載均衡和容錯,可和Apache配合使用,是輕量級的HTTP伺服器的首選。
Web伺服器的快取方案:
Web伺服器的快取方案:
1>Apache提供了自己的快取模組
2>外加的Squid模組進行快取,這兩種方式均可以有效的提高Apache的訪問響應能力。Squid Cache是一個Web快取伺服器,支援高效的快取,可以作為網頁伺服器的前置cache伺服器快取相關請求來提高Web伺服器的速度,把Squid放在 Apache的前端來快取Web伺服器生成的動態內容,而Web應用程式只需要適當地設定頁面實效時間即可。如訪問量巨大則可考慮使用memcache作 為分散式快取。
PHP的加速:
使用eAccelerator加速器,eAccelerator是一個自由開放原始碼PHP加速器,優化和動 態內容快取,提高了效能PHP指令碼的快取效能,使得PHP指令碼在編譯的狀態下,對伺服器的開銷幾乎完全消除。它還有對指令碼起優化作用,以加快其執行效率。 使PHP程式程式碼執效率能提高1-10倍。具體的解決方案有以下幾種:
1、squid + Apache + PHP + eAccelerator
使用Apache負載PHP,使用squid進行快取,html或圖片的請求可以直接由squid返回給使用者。很多大型網站都採用這種架構。
2、nginx/Apache + PHP(fastcgi) + eAccelerator
使用nginx或Apache負載PHP,PHP使用fastcgi方式執行,效率較高。
3、nginx + Apache + PHP + eAccelerator
此方案綜合了nginx和Apache的優點,使用Apache負載PHP,nginx負責解析其他Web請求,使用nginx的rewrite模組,Apache埠不對外開放。
資料庫
開源的資料庫中,MySQL在效能、穩定性和功能上是首選,可以達到百萬級別的資料儲存,網站初期可以將MySQL和Web伺服器放在一起
當訪問量達到一定規模後,應該將MySQL資料庫從WebServer上獨立出來,在單獨的伺服器上執行,同時保持WebServer和MySQL伺服器的穩定連線。
當資料庫訪問量達到更大的級別,可以考慮使用MySQL Cluster等資料庫叢集或者庫表雜湊等解決方案。
相關文章
- 解決方案| anyRTC金融音視訊解決方案
- lamp編譯詳解LAMP編譯
- 高併發解決方案詳解(9大常見解決方案)
- ios不支援fixed解決解決方案iOS
- 前端整合解決方案前端
- 高可用解決方案
- UnexpectedRollbackException解決方案Exception
- Feast on Amazon 解決方案AST
- 埠占用解決方案
- 智慧停車場解決方案,反向尋車系統解決方案
- 跨域問題,解決方案 – CORS方案跨域CORS
- 跨域問題,解決方案 - CORS方案跨域CORS
- minikube配置代理:解決方案以及解決思路
- 智慧農業解決方案
- 大資料解決方案大資料
- javascript非同步解決方案JavaScript非同步
- mysql壓縮解決方案MySql
- 非同步解決方案---promise非同步Promise
- ROS意外崩掉解決方案ROS
- JEESZ-SSO解決方案
- 大數相乘解決方案
- SAP雲解決方案家族
- iris 跨域解決方案跨域
- 前端圖片解決方案前端
- 同源策略及其解決方案
- Laravel 跨域解決方案Laravel跨域
- C/C++解決方案C++
- char* 轉 LPCWSTR 解決方案
- Ajax 跨域解決方案跨域
- 常用解決方案彙總
- QSqlDatabase:QMYSQLdrivernotloaded解決方案LDADatabaseMySql
- ORACLE亂碼解決方案Oracle
- IP衝突解決方案
- Java亂碼解決方案Java
- 內網控制解決方案內網
- Web 解決方案平臺Web
- NILDR is Missing解決方案
- 解決方案製作思路