1. 程式人生 > >LAMP架構一(介紹)

LAMP架構一(介紹)

一、LAMP架構介紹

現如今開啟瀏覽器,搜尋LAMP關鍵詞,出現大量的關於LAMP的介紹,包括LAMP的一鍵指令碼、LAMP的yum安裝、LAMP的編譯安裝,但是對於一個非開發或非專業人員有可能根據網路參考資源實現LAMP的搭建併成功執行各種服務,也有部分人員完全照搬某些部落格知識進行搭建,最後以失敗告終,因此抱怨網際網路資源不夠成熟,其實根本原因並非如此,主要原因如下:

  • 初學者對LAMP架構原理不熟悉

  • 初學者實驗時所用系統和軟體版本和某些部落格資源並不相同

因此導致大量初學者以失敗告終,其實只有瞭解並掌握LAMP的工作原理才能輕鬆的搭建成功,其次引數的配置都是次要因素,因為網際網路上擁有大量的參考資料供查詢,下面將逐一介紹

L:很顯然L代表Linux系統,但此L需注意系統的版本號,如Centos6.9或Centos7.3;

   A:表示apache,在傳統行業中,多數採用Apache伺服器,因此也很有必要了解學習Apache;

   M:表示資料庫,多數採用mysql或mariadb,作為專業的資料庫工程師需經多年的歷練;

   P:表示PHP、python、perl等等程式語言。

   在這裡注意講解Linux+apache+mariadb+PHP組合的架構,架構圖如下:

根據上圖中訪問資料流可知,處理一次動態頁面請求,伺服器主要經歷:Apache處理請求——通過CGI介面訪問PHP的的應用程式——PHP應用程式呼叫PHP直譯器執行PHP程式碼——PHP程式訪問呼叫資料庫——最後給客戶做反饋。

故在LAMP的環境機構中,apache、mariadb和php的主要功能分別如下。

    apache主要實現如下功能:

    第一:處理http的請求、構建響應報文等自身服務;

    第二:配置讓Apache支援PHP程式的響應(通過PHP模組或FPM);

    第三:配置Apache具體處理php程式的方法,如通過反向代理將php程式交給fcgi處理。

    mariadb主要實現如下功能:

    第一:提供PHP程式對資料的儲存;

    第二:提供PHP程式對資料的讀取(通常情況下從效能的角度考慮,儘量實現資料庫的讀寫分離)。

    php主要實現如下功能:

    第一:提供apache的訪問介面,即CGI或Fast CGI(FPM);

    第二:提供PHP程式的直譯器;

    第三:提供mairadb資料庫的連線函式的基本環境。

    由此可知,要實現LAMP在配置每一個服務時,安裝功能需求進行配置,即可實現LAMP的架構,當然apache、mariadb和php服務都可配置為獨立服務,安裝在不同伺服器之上。