PHPWEB开发访问处理流程:Nginx、FastCGI、PHP-FPM

2021-07-2410:20:05后端程序开发Comments1,324 views字数 857阅读模式

PHP在开发WEB开发中,一个请求开始到最后的返回,都经过什么样的流程呢?想要了解这些,我们不可避免需要了解这几个技术:Nginx、FastCGI、PHP-FPM。这些技术和PHP语言本身构建WEB开发的服务,今天我们就来认识认识。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

 Nginx 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

作为web开发者来说,Nginx并不陌生,Nginx同Apache一样都是一种WEB服务器。帮我们提供正向、反向代理、HTTP服务器等等功能。额外的扯一下什么是正向反向代理文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

1、正向代理:它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,它代理的是客户端,如我们常见的翻墙文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

2、反向代理:它隐藏了真实的服务端,它代理的是服务端,也就是说我们不知道具体是哪台服务器为我们服务,可以用来做负载均衡。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

 FastCGI 和 PHP-FPM 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

说起FastCGI,我们就需要先了解一下CGI、PHP-CGI。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

1、CGI是WEB服务器和程序数据交流的一种协议,规范了标准输入、输出和环境变量。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

2、PHP-CGI它的CGI的一种实现,目的就是为了实现WEB服务器和动态语言的通讯文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

3、但是呢,CGI程序它有一个缺点就是每一次web请求都会有启动和退出过程。这在如今大数据量,高并发请求来说,显得格外的严重。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

4、于是就有了FastCGI协议,FastCGI是CGI的升级版,让每个处理请求的PHP-CGI进程可以被重复利用,且进程的数量可以被管理。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

5、而PHP-FPM就是FastCGI的实现。它包含了master 进程和 worker 进程两种进程,master 进程只有一个,负责监听端口,接收来自 Web Server 的请求,而 worker 进程则一般有多个(具体数量根据实际需要配置),每个进程内部都嵌入了一个 PHP 解释器,是 PHP 代码真正执行的地方。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

 例子 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

结合例子说明一下,我们以 看下完整的请求流程是怎么样子的:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

1、:绑定host:`127.0.0.1 `文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

2、配置 的nginx配置文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

PHPWEB开发访问处理流程:Nginx、FastCGI、PHP-FPM文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

3、 上图的配置需要在nginx文件需要在nginx引入文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

PHPWEB开发访问处理流程:Nginx、FastCGI、PHP-FPM文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

4、配置的监听端口文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

PHPWEB开发访问处理流程:Nginx、FastCGI、PHP-FPM文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

5、php代码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

PHPWEB开发访问处理流程:Nginx、FastCGI、PHP-FPM文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

6、浏览器展示文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

PHPWEB开发访问处理流程:Nginx、FastCGI、PHP-FPM文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

 流程图如下文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

PHPWEB开发访问处理流程:Nginx、FastCGI、PHP-FPM文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/21573.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/21573.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定