微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

简单了解 LNMP 架构

1.什么是LNMP?

LNMP是一套技术的组合,L=Linux、N=Nginx、M~=MysqL、P~=PHP、(ES、redis、kafka、zookeeper....)

2.LNMP工作方式

首先Nginx服务是不能处理动态请求,那么当用户发起动态请求时, Nginx又是如何进行处理的。
	静态请求:请求静态文件或者html页面,服务器上存在的html文件
		静态文件上传时什么样子,访问时还是什么样子;
	动态请求:请求的是动态内容,带参数的请求
			动态页面不存在于服务器上,他可能是取数据库或者redis等地方取值拼凑成的页面用户发起http请求,请求会被Nginx处理,如果是静态资源请求Nginx则直接返回,如果是动态请求Nginx则通过fastcgi协议转交给后端的PHP程序处理

3.访问流程

1.浏览器输入域名,浏览器会拿着域名取DNS服务器解析
2.DNS服务器会将域名解析成IP 
3.浏览器会去与IP对应服务器建立TCP\IP连接 
4.连接建立完成,会向服务器发起请求,请求Nginx 
5.Nginx会判断请求是动态的还是静态的
	#静态请求
	location / {
		root /code;
		index index.html;
	}
	
	#动态请求
	location ~* \.PHP$ {
		fastcgi_pass 127.0.0.1:9000;
	}
6.如果是静态请求,Nginx去code目录获取,直接返回
7.如果是动态请求,Nginx会通过fastcgi协议连接PHP服务的PHP-fpm管理进程

8.PHP-fpm管理进程会下发工作给 wrapper工作进程 
9.wrapper工作进程判断是不是简单的PHP内容 
10.如果只是PHP内容则使用PHP解析器解析后直接返回
11.如果还需要读取数据库,wrapper工作进程会去数据库读取数据,再返回数据
12.数据流转过程: 
	1)请求:浏览器 > 负载均衡 > Nginx > PHP-fpm > wrapper > MysqL 
	2)响应:MysqL > wrapper > PHP-fpm > Nginx > 负载均衡 > 浏览器5.PHP-fpm管理进程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐