简单了解 LNMP 架构
2021/4/29 18:55:27
本文主要是介绍简单了解 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管理进程
这篇关于简单了解 LNMP 架构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)