Nginx + FastCGI运行原理是什么

介绍

这篇文章将为大家详细讲解有关Nginx + FastCGI运行原理是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

FastCGI(快速公共网关接口、快速通用网关接口),是一个可伸缩的,高速地在HTTP服务器和动态脚本语言间通信的接口(或者说是协议)。

<强> Nginx + FastCGI运行原理,,

 Nginx + FastCGI运行原理是什么

<强> Nginx不支持对外部程序的直接调用或者解析,所有的程序(包括PHP)必须通过FastCGI, uwsig接口调用。

FastCGI接口调用在Linux下的套接字(unix sockt或者ip:港口形式)。为了调用CGI程序,还需要一个FastCGI的包装,包装绑定在某个固定的套接字上,如端口或者文件插座。

当Nginx将CGI请求发送给这个套接字时,通过FastCGI接口,包装器接纳到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本,并读取返回数据,接着包装器再将返回的数据通过FastCGI接口,沿着固定的套接字传递给Nginx。

最后Nginx将返回的数据发送给客户端。

<强> PHP-FPM

FastCGI接口方式在脚本解析服务器上启动一个或者多个守护进程对动态脚本进行解析,这些进程就是FastCGI进程管理器,或者FastCGI引擎。

PHP-FPM就是支持PHP的FastCGI引擎.PHP-FPM是一个第三方的FastCGI进程管理器,作为PHP的一个补丁进行开发的,因此在安装的时候需要和PHP源码一起编译,也就是说PHP-FPM被编译到PHP内核中。

FastCGI的主要优点是把动态语言和HTTP服务器分离开来,所以Nginx与PHP/PHP-FPM经常被部署在不同的服务器上,以分担前端Nginx服务器的压力,使Nginx专一处理静态请求和转发动态请求,而PHP/PHP-FPM服务器专一解析PHP动态请求。

关于Nginx + FastCGI运行原理是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

Nginx + FastCGI运行原理是什么