首页技术文章正文

3分钟了解什么是LAMP架构?

更新时间: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都只支持静态页面的解析

1572315789595_LAMP架构1.jpg


当客户端请求的是静态资源时,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是一种通用开源脚本语言。

1572315815806_LAMP架构2.jpg


(1)当客户端请求的是动态资源时,Apache(httpd程序)会调用libphpX.so模块进行相应的解析。

(2)如果解析处理需要用到后台数据库相关数据,此时php程序也会连接后台数据库。

(3) 最终php程序将解析后的结果返回给Apache(httpd程序),让Apache返回给客户端。

3. 聊聊MySQL

· 像极了大厨

· 作用:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle旗下产品。其主要作用用于永久的存储数据。

1572315839073_LAMP架构3.jpg


三、LAMP架构是什么?

· 像极了饭店

1572315861192_LAMP架构4.jpg


(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。

分享到:
在线咨询 我要报名
和我们在线交谈!