代码学堂(uxuew.cn)提供付费解决PHP WEB开发等技术服务,如果需要请 点击加我QQ:1662935793.
>服务器 > nginx > nginx服务器和fastcgi通信原理详解

nginx服务器和fastcgi通信原理详解

nginx 围观4575次 更新日期:2018-03-30 13:31:58 留下足迹

nginx+fastcgi+php-fpm是很多大型网站的服务端架构,也都知道fastcgi在性能上比CGI优异很多,但很少有人解释nginx是怎么跟fastcgi通信的,下面我们来解释下网上对CGI的工作原理一般是这么定义的:

客户端web浏览器浏览某个主页后,利用一定的方式提交数据,并通过HTTP协议向Web服务器发出请求,服务器端的HTTP Daemon(守护进程)将描述的主页信息通过标准输入stdin和环境变量(enviroment variable)传递给主页指定的CGI程序,并启动此应用程序进行处理(包括数据库处理),处理结果通过标准输出stdout返回给HTTP Daemon守护进程,再由HTTP Daemon进程通过HTTP协议返回给客户端浏览器,由浏览器解析执行,将最终结果显示给用户

上面的解释有两个关键地方“标准输入和标准输出”,貌似nginx就是通过“标准输入和标准输出”来和CGI通信的,那么这个“标准输入和标准输出”是怎么样构建的呢,因为CGI也是监听在服务器的某个端口上,不可能有像操作本地文件系统那样的“标准输入和标准输出”的,后来发现nginx跟fastcgi通信有两种方式:

1、tcp的方式,nginx默认是通过tcp的方式跟fastcgi通信的

2、socket方式,这个方式需要单独配置

转载请注明:代码学堂>服务器 > nginx > nginx服务器和fastcgi通信原理详解

喜欢 (629) or 分享 (226)
随机文章