LNMP-架构基本概述
1、什么是LNMP
LNMP是一套技术的组合
L=Linux
N=Nginx
M=[MySQL|Mariadb]
P=[ PHP | Python]
2、LNMP实现过程
2.1、过程说明
用户请求 http://cyc.com/index.php
对于Nginx服务而言,是无法处理index.php这样的动态脚本的,那么Nginx该如何配置,才能支持这样的动态请求呢? 第一步:当用户发起HTTP请求,请求首先被Nginx接收; 第二步:Nginx通过预先定义好的location规则进行匹配; 第三步:Nginx将匹配到的动态内容,通过fastcgi协议传到给后端的php应用服务处理;
2.2、流程图
3、LNMP实现细节
3.1、Nginx、PHP、MysQL之间工作原理
1、用户首先通过http协议发起请求,请求会先抵达Nginx 2、Nginx根据用户的请求进行Location规则匹配; 3、Location如果匹配到请求是静态,则由Nginx读取本地直接返回; 4、Location如果匹配到请求是动态,则由Nginx将请求转发给fastcgi协议; 5、fastcgi 收到后会将请求后,交给php-fpm管理进程; 6、php-fpm管理进程接收到后会调用具体的工作进程warrap; 7、wrapper进程会调用php解析器解析代码,php解析后直接返回; 8、如果有查询数据库操作,则由php连接数据库(用户、密码、IP)发起查询的操作。 9、最终数据由mysql <-> php <-> php-fpm <-> fastcgi <-> nginx <-> http <->user;
3.2、流程图