nginx中php-fpm 和fastcgi什么关系

我们知道nginx.conf中配需要配置fastCGI,php需要安装php-fpm扩展并启动php-fpm守护进程,nginx才可以解析php脚本。

直接说问题吧:
1.在Nginx中,是不是一定要配置php-fpm才能解析PHP?
2.到底解析PHP的是php-fpm还是fastcgi还是其他的东西?
3.php-fpm,fastcgi,phpcgi关系是什么?
4.有人说fastcgi是一个接口协议,是把nginx和php进行解耦了。php-fpm是实现这个接口的工具。不知道这个理解是不是对的??

看了很多相关文章,感觉都不知道在说什么,没有人讲清楚的,希望各位自己的理解说说这些问题

万千封印
浏览 932回答 6
6回答

LEATH

用户请求->nginx(webserver)->fastcgi(nginx无法直接与php通讯,只能通过fastcgi接口通讯)->php-fpm(PHPFastCGI管理器)->php-cgi->php

慕田峪4524236

配置了php-fpm也不能解析php文件,nginx只是个转发,fastcgi_pass就像proxy_pass一样,转发 解析PHP的是php-fpm php-cgi实现CGI(通用网关接口,来新请求就需要fork新进程处理,效率低),php-fpm实现fastcgi(进程一直存活) fastcgi是协议,php-fpm根据该协议数据进程请求处理与响应,nginx根据该协议发出请求到php-fpm以及收取php-fpm返回的数据

泛舟湖上清波郎朗

php-fpm 和fastcgi的关系类似于浏览器和http的关系
打开App,查看更多内容
随时随地看视频慕课网APP