LNMP与LAMP的工作原理
http://blog.csdn.net/huobobo124/article/details/52971479
id="article_content" class="article_content csdn-tracking-statistics" data-mod="popu_307" data-dsm="post">
| |
class="markdown_views">
| |
| |
首先解释一下LNMP的意思,我第一看到的时候感觉很高大上,后来才知道原来指的是Linux+Nginx+Mysql+PHP。接下来我介绍一下其工作原理。 | |
首先,浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求,将一些静态资源(CSS,图片,视频等)保存服务器上,然后将php脚本通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序),PHP-FPM不做处理,然后PHP-FPM调用PHP解析器进程,PHP解析器解析php脚本信息。PHP解析器进程可以启动多个,进行并发执行。然后将解析后的脚本返回到PHP-FPM,PHP-FPM再通过fast-cgi的形式将脚本信息传送给Nginx.服务器再通过Http response的形式传送给浏览器。浏览器再进行解析与渲染然后进行呈现。 | |
以上整个就是LNMP的工作过程。 | |
| |
LAMP其实是指Linux+Apache+Mysql+PHP的结构体系。其工作原理如下: | |
浏览器向服务器发送http请求,服务器 (Apache) 接受请求,由于php作为Apache的组件模块也会一起启动,它们具有相同的生命周期。Apache会将一些静态资源保存,然后去调用php处理模块进行php脚本的处理。脚本处理完后,Apache将处理完的信息通过http response的方式发送给浏览器,浏览器解析,渲染等一系列操作后呈现整个网页。 | |
| |
在LNMP中,Nginx本身对脚本不做任何的处理,而是去调用一个PHP-FPM的进程,二者是相互独立的。 | |
在LAMP中,PHP是Apache的一个模块,具有相同的生命周期。 ---------------- |