LAMP架构#yyds干货盘点#
Posted wangzx_mm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LAMP架构#yyds干货盘点#相关的知识,希望对你有一定的参考价值。
什么是LAMP?
LAMP(Linux-Apache-mysql-php)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。
LAMP其实是指Linux+Apache+Mysql+PHP的结构体系。其工作原理如下:
浏览器向服务器发送http请求,服务器 (Apache) 接受请求,由于php作为Apache的组件模块也会一起启动,它们具有相同的生命周期。Apache会将一些静态资源保存,然后去调用php处理模块进行php脚本的处理。脚本处理完后,Apache将处理完的信息通过http response的方式发送给浏览器,浏览器解析,渲染等一系列操作后呈现整个网页。
L: 很显然L代表Linux系统,但此L需注意系统的版本号,如Centos6.9或Centos7.3;
**A:**表示apache,在传统行业中,多数采用Apache服务器,因此也很有必要了解学习Apache;
**M:**表示数据库,多数采用mysql或mariadb,作为专业的数据库工程师需经多年的历练;
P:表示PHP、python、perl等等编程语言。
apache主要实现如下功能:
第一:处理http的请求、构建响应报文等自身服务;
第二:配置让Apache支持PHP程序的响应(通过PHP模块或FPM);
第三:配置Apache具体处理php程序的方法,如通过反向代理将php程序交给fcgi处理。
mariadb主要实现如下功能:
第一:提供PHP程序对数据的存储;
第二:提供PHP程序对数据的读取(通常情况下从性能的角度考虑,尽量实现数据库的读写分离)。
php主要实现如下功能:
第一:提供apache的访问接口,即CGI或Fast CGI(FPM);
第二:提供PHP程序的解释器;
第三:提供mairadb数据库的连接函数的基本环境。
由此可知,要实现LAMP在配置每一个服务时,安装功能需求进行配置,即可实现LAMP的架构,当然apache、mariadb和php服务都可配置为独立服务,安装在不同电脑之上。
在这里注意Linux+apache+mariadb+PHP组合的架构,架构图如下:
根据上图数据流可知,处理一次动态页面请求,服务器主要经历:Apache处理请求——通过CGI接口访问PHP的的应用程序——PHP应用程序调用PHP解释器执行PHP代码——PHP程序访问调用数据库——最后给客户做反馈。故在LAMP的环境机构中,apache、mariadb和php的主要功能分别如下。
再说lamp流程:
用户发送http请求到达httpd服务器
httpd解析url获取需要的资源的路径,通过内核空间读取硬盘资源,如是静态资源,则构建响应报文,发回给用户
如果是动态资源,将资源地址发给php解析器,解析php程序文件,解析完毕将内容发回给httpd,httpd构建响应报文,发回给用户
如果涉及到数据库操作,则利用php-mysql驱动,获取数据库数据,返回给PHP解析器。
以上是关于LAMP架构#yyds干货盘点#的主要内容,如果未能解决你的问题,请参考以下文章