LAMP架构

发布于 2021-06-30  744 次阅读


原文链接:

https://blog.csdn.net/sj349781478/article/details/84224440

 

个人总结:

模块说明:

首先 LAMP是一种架构,表示 Linux + Apache + Mariadb / MySQL+ PhP,针对这四个东西解析:

L:Linux操作系统,是架构基础,无需多言

A:此处代指 Apache 服务器,它是Apache软件基金会管理下的一个开放源代码的服务器软件,可以理解为电脑上的一个应用程序。简单地说它的作用就是将你的电脑变成一台服务器,让你的电脑开放特定的网络端口,用以接收来自网络上发送到这台机器的HTTP请求,对请求的内容进行处理并作出相应的响应

M:表示数据库,多数采用mysql或mariadb(mariadb是mysql的一个分支)https://www.zhihu.com/question/41832866

P:PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了CJavaPerl,该语言的主要目标是允许web开发人员快速编写动态网页

流程说明:

处理一次动态页面请求,服务器主要经历:Apache处理请求——通过CGI接口访问PHP的的应用程序——PHP应用程序调用PHP解释器执行PHP代码——PHP程序访问调用数据库——最后给客户做反馈。

故在LAMP的环境机构中,apache、mariadb和php的主要功能分别如下。

 

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服务都可配置为独立服务,安装在不同服务器之上。

补充:常见的三种 web 服务器及其区别  https://www.zhihu.com/question/32212996/answer/226688632

1.Apache

Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上。其属于应用服务器。Apache支持支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。

(Apche可以支持PHPcgiperl,但是要使用Java的话,你需要Tomcat在Apache后台支撑,将Java请求由Apache转发给Tomcat处理。)

缺点:配置相对复杂,自身不支持动态页面。

2. Tomcat

Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。

3. Nginx

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。

 

 


她喜欢所以就做咯