Nginx+FastCGI运行原理是什么

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

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站制作、东乃网络推广、小程序开发、东乃网络营销、东乃企业策划、东乃品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供东乃建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

FastCGI(Fast Common Gateway Interface,快速通用网关接口),是一个可伸缩的、高速地在HTTP server和动态脚本语言间通信的接口(或者说是协议)。

Nginx + FastCGI运行原理   

Nginx + FastCGI运行原理是什么

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

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

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

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

PHP-FPM

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

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

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

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


网站栏目:Nginx+FastCGI运行原理是什么
文章来源:http://scyanting.com/article/pjgdij.html