帮你梳理LAMP架构

LAMP分别代表什么?
· L代表服务器操作系统使用linux
· A代表网站服务使用的是Apache软件基金会中的httpd的软件
· M代表网站后台使用的数据库时MySQL数据库
· P代表网站是使用php/Perl/Python等语言开发
Apache/MySQL/PHP各自有什么作用?
我们可以将LAMP架构理解为饭店 , 家饭店很特别 , 前台小姐姐灰常漂亮 , 服务生和厨师很丑 , 丑到不能见人的那种(自行脑补哈) , 所以你去饭店就只能看见前台小姐姐 。
1. 聊聊Apache(httpd)
· 像极了前台
· 作用:提供web服务 , 接受用户的连接请求!
注意:Apache或Nginx都只支持静态页面的解析
 

帮你梳理LAMP架构

文章插图
 
 
当客户端请求的是静态资源时 , 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是一种通用开源脚本语言 。
 
帮你梳理LAMP架构

文章插图
 
 
(1)当客户端请求的是动态资源时 , Apache(httpd程序)会调用libphpX.so模块进行相应的解析 。
(2)如果解析处理需要用到后台数据库相关数据 , 此时php程序也会连接后台数据库 。
(3) 最终php程序将解析后的结果返回给Apache(httpd程序) , 让Apache返回给客户端 。
3. 聊聊MySQL
· 像极了大厨
· 作用:MySQL是一个关系型数据库管理系统 , 由瑞典MySQL AB 公司开发 , 目前属于 Oracle旗下产品 。其主要作用用于永久的存储数据 。【推荐了解:IT运维课程】
 
帮你梳理LAMP架构

文章插图
 
 
LAMP架构是什么?
· 像极了饭店
 
帮你梳理LAMP架构

文章插图
 
 
(1) Apache像极了饭店前台 , 专门用来接受客户请求 , 并做一些静态页面处理(只买酒水饮料) 。
(2) PHP像极了服务生 , 他专门用来解析处理由前台不能处理的”订单” , 如用户想吃一碗意大利面 , 服务生就需要和后厨沟通 , 并做相应的安排处理.然后将处理后的结果返回给前台 , 由前台再给用户 , 因为服务生太丑了 , 见不得人 。
(3) MySQL像极了后厨 , 专门用来存放食材 , 并且只能由中间的服务生和后厨沟通 , 来获取什么食材 。
· 专业解释如下
(1) 客户端发送请求连接web服务器的80端口 , 由Apache相应并处理用户的静态请求 。
(2) 如果客户端请求的是动态资源 , 由Apache加载调用libphpX.so模块(安装php程序带来)进行解析处理 。


推荐阅读