PHPWEB开发的访问处理流程:Nginx、FastCGI、PHP-FPM
PHP WEB开发从开始请求到最终结果,经历了一个什么样的过程?要理解这一点,我们就不可避免地要了解这些技术:Nginx、FastCGI和PHP-FPM。这些技术和PHP语言本身构建了WEB开发服务。今天我们就来认识一下他们。
Nginx
作为 Web 开发人员,Nginx 并不陌生。 Nginx 是一个像 Apache 一样的 WEB 服务器。帮助我们提供正向、反向代理、HTTP服务器等功能。额外的解释:什么是正向和反向代理
1。正向代理:隐藏真正的请求客户端。服务器不知道谁是真正的客户端。正如我们经常看到的那样,它充当客户的代理。翻墙
2.反向代理:隐藏真实服务器。它充当服务器的代理,这意味着我们不知道哪台服务器正在为我们服务,并且可以用于负载平衡。
FastCGI 和 PHP-FPM
说到 FastCGI,我们首先要了解一下 CGI 和 PHP-CGI。
1。 CGI是WEB服务器和程序之间的数据交换协议,它控制标准输入、输出和环境变量。
2。 PHP-CGI是CGI的一种实现,旨在实现WEB服务器与动态语言
3之间的通信。然而,CGI 程序的一个缺点是每个 Web 请求都会启动和关闭。这在数据量大、并发请求数高的今天尤其严重。
4。于是就有了FastCGI协议。 FastCGI是CGI的增强版本,这样任何处理请求的PHP-CGI进程都可以被重用,并且进程数量可以控制。
5。 PHP-FPM是FastCGI的实现。它包含两个进程,主进程和工作进程。只有一个主进程负责监听端口并接收来自 Web 服务器的请求。一般有多个worker进程(具体数量根据实际需要配置),每个进程内部都有一个PHP解释器,PHP代码实际执行在该解释器中。? 3。上图中的配置需要引入到nginx文件中。
4。配置的监听端口
5。 PHP 代码
6。浏览器视图
流程图如下:
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。