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