1. 程式人生 > >LAMP與LNMP架構的區別及其具體的選擇說明

LAMP與LNMP架構的區別及其具體的選擇說明

LAMP==Linux+Apache+Mysql+PHP
LNMP==Linux+Nginx+Mysql+PHP


以上兩隻架構是目前網站的主流架構
LAMP和LNMP最主要的區別在於:
一個使用的是Apache,一個使用的是Nginx。

我們就來說說Apache
Apache是世界是用排名第一的Web伺服器軟體,其幾乎可以在所有廣泛使用的計算機平臺上運營,由於其跨平臺和安全性被廣泛使用,是最流行的Web服務端軟體之一。

相比於nginx,apache有些臃腫,記憶體和CPU開銷較大,效能上有損耗,nginx對於靜態檔案的響應能力遠高apache。

Apache是負載PHP的最佳選擇,如果流量很大的話,可以使用nginx來負載非PHP的Web請求。在整個IT界而言,70%的流量訪問均來源於Apache。



下面說說Nginx
Nginx是一款高效能額Http和反向代理伺服器,也是一個AMAP/POP3/SMTP伺服器,Nginx是由Igor Sysoev為俄羅斯訪問量第二的Rambler.ru站點開發的,第一個公開版本0.1.0釋出於2004年10月4日,2011年6月1日,nginx 1.0.4釋出。

相比於Apache,nginx使用資源更少,支援更多併發連線,效率更高,作為負載均衡伺服器。nginx即可對內進行支援,也可對外進行服務。其還是一款非常優秀的郵件代理伺服器,安裝簡單,配置簡介


LNMP是Linux+Nginx+Mysql+PHP的組合方式,其特點是利用Nginx的快速與輕量級,替代以前的LAMP(Linux+Apache+Mysql+PHP)的方式。由於安裝方便,並且安裝指令碼也隨時更新。

LNMP方式的優點:佔用VPS資源較少,Nginx配置起來也比較簡單,利用fast-cgi的方式動態解析PHP指令碼。

LNMP方式的缺點:php-fpm元件的負載能力有限,在訪問量巨大的時候,php-fpm程序容易僵死,容易發生502 bad gateway錯誤

綜上所述:

基於 LAMP 架構設計具有成本低廉、部署靈活、快速開發、安全穩定等特點,是 Web 網路應用和環境的優秀組合。若是伺服器配置比較低的個人網站,當然首選 LNMP 架構。

當然,在大流量的時候。把Apache和Nginx結合起來使用,也不失為一個不錯選擇,如下:

LNAMP是Linux+Nginx+Apache+Mysql+PHP的組合方式,其特點是利用Nginx來作為靜態指令碼的解析,而利用 Nginx的轉發特性,將動態指令碼的解析轉交給Apache來處理,這樣,能充分利用兩種Web伺服器的特點,對於訪問量需求較大的站點來說,是一個很不錯的選擇。

LNAMP方式的優點:由於Apache本身處理PHP的能力比起php-fpm要強,所以不容易出現類似502 bad gateway的錯誤。適合訪問量較大的站點使用。

 

LNAMP方式的缺點:相比LNMP方式會多佔用一些資源,另外,配置虛擬主機需要同時修改Nginx和Apache的配置檔案,要稍微麻煩一些。