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