PHP与NGINX是怎么协作的

PHP与NGINX是怎么协作的?
  最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html。事物总是不断发展,网站也越来越复杂,所以出现动态技术,但是服务器并不能直接运行 php,asp这样的文件,自己不能做,外包给别人吧,但是要做个约定,就是我把请求参数发送给你,然后我接收你的处理结果返回给客户端。这个约定就是 common gateway interface,简称cgi。这个协议可以用vb,c,php,python 来实现。cgi只是接口协议,不是什么语言。下面图可以看到流程:
  在这里插入图片描述

1.CGI是什么?

CGI是一个协议,Common Gateway Interface - 即通用网关接口,是web服务器和外部应用程序(cgi程序,例如php-cgi)之间的接口标准,只要实现了这种协议,就能使得前后端进行通信.CGI工作原理:每当客户请求CGI(览器通过HTML表单或超链接请求指向一个CGI应用程序的URL)的时候,WEB服务器就请求操作系统生成一个新的CGI解释器进程(如php-cgi.exe),CGI 的一个进程则处理完一个请求后退出,下一个请求来时再创建新进程。当然,这样在访问量很少没有并发的情况也行,可是当访问量增大,并发存在,这种方式就不适合了,于是就有了fastcgi。

2.FastCGI是什么?

FastCGI 就是一个常驻型(long-live)的cgi.它的主要行为是将cgi解释器进程保存在内存中,避免了重复的初始化操作,以获得较高的性能.

3.php-fpm是什么?

php-fpm即php-Fastcgi Process Manager. php-fpm是 FastCGI 的实现,并提供了进程管理的功能。进程包含 master 进程和 worker 进程两种进程。master 进程只有一个,负责监听端口,接收来自 Web Server 的请求,而 worker 进程则一般有多个(具体数量根据实际需要配置),每个进程内部都嵌入了一个 PHP 解释器,是 PHP 代码真正执行的地方。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SHUIPING_YANG

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值