更新時間:2019-10-29 來源:黑馬程序員 瀏覽量:
一、LAMP分別代表什么?
· L代表服務器操作系統使用Linux
· A代表網站服務使用的是Apache軟件基金會中的httpd的軟件
· M代表網站后臺使用的數據庫時MySQL數據庫
· P代表網站是使用PHP/Perl/Python等語言開發
二、Apache/MySQL/PHP各自有什么作用?
我們可以將LAMP架構理解為飯店,家飯店很特別,前臺小姐姐灰常漂亮,服務生和廚師很丑,丑到不能見人的那種(自行腦補哈),所以你去飯店就只能看見前臺小姐姐。
1. 聊聊Apache(httpd)
· 像極了前臺
· 作用:提供web服務,接受用戶的連接請求!
注意:Apache或Nginx都只支持靜態頁面的解析
當客戶端請求的是靜態資源時,web服務(httpd程序)會直接返回靜態資源給客戶端
(1)靜態網頁
· 靜態網頁指使用HTML(超文本標記語言)編寫,一般后綴為.htm、.html等;網頁文件中沒有程序代碼
· 靜態網頁,用戶雙擊打開,看到的效果與web服務器是相同的,因為網頁的內容在用戶訪問之前,就已經確定
(2)動態網頁
· 動態網頁指網站使用特定的編程語言編寫,網頁文件中除了HTML標記以外,還包括一些實現特定功能的程序代碼
· 服務器端可以根據客戶端的不同請求動態產生網頁內容
· 動態網頁后綴一般為.php、.asp、.aspx、cgi、.perl、.jsp等
· 常見的留言板、論壇、注冊、發帖都是用動態網頁實現的
(3)小結
1)什么是web服務?
答:提供網頁瀏覽功能的網站服務。
即安裝了web服務軟件如,httpd/nginx等軟件,并啟動。客戶通過瀏覽器可以訪問網站。
2)什么是Web服務器?
答:簡單來理解就是安裝web服務軟件,并能提供Web服務的機器。
3)Web一般是分為客戶端與服務器端,兩者是如何交互的呢?
答:通過HTTP協議http://www.itheima.com。
4)Apache(httpd)的作用和特點?
答:Apache用于接受用戶連接請求;只負責靜態頁面的解析。
2. 聊聊PHP
· 像極了服務生
· 作用:PHP主要負責PHP腳本程序的解析以及實現與MySQL數據庫的交互工作,我們項目中的注冊/登錄/下單/支付等大多數功能都是基于PHP+MySQL進行實現。PHP是一種通用開源腳本語言。
(1)當客戶端請求的是動態資源時,Apache(httpd程序)會調用libphpX.so模塊進行相應的解析。
(2)如果解析處理需要用到后臺數據庫相關數據,此時php程序也會連接后臺數據庫。
(3) 最終php程序將解析后的結果返回給Apache(httpd程序),讓Apache返回給客戶端。
3. 聊聊MySQL
· 像極了大廚
· 作用:MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle旗下產品。其主要作用用于永久的存儲數據。
三、LAMP架構是什么?
· 像極了飯店
(1) Apache像極了飯店前臺,專門用來接受客戶請求,并做一些靜態頁面處理(只買酒水飲料)。
(2) PHP像極了服務生,他專門用來解析處理由前臺不能處理的”訂單”,如用戶想吃一碗意大利面,服務生就需要和后廚溝通,并做相應的安排處理.然后將處理后的結果返回給前臺,由前臺再給用戶,因為服務生太丑了,見不得人。
(3) MySQL像極了后廚,專門用來存放食材,并且只能由中間的服務生和后廚溝通,來獲取什么食材。
· 專業解釋如下
(1) 客戶端發送請求連接web服務器的80端口,由Apache相應并處理用戶的靜態請求。
(2) 如果客戶端請求的是動態資源,由Apache加載調用libphpX.so模塊(安裝php程序帶來)進行解析處理。
(3) 如果處理需要和后臺數據庫溝通,那么由php程序去完成。
(4) Php程序將處理完后的結果再返回給Apache,由Apache返回給客戶端。
本文來自:黑馬程序員 linux云計算+運維開發學院 linux.itheima.com。