温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Nginx + FastCGI运行原理是什么

发布时间:2020-11-05 13:57:12 来源:亿速云 阅读:261 作者:小新 栏目:编程语言

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI