Fastcgi
是 CGI
的升级版,一种语言无关的协议,用来沟通程序(如PHP, Python, Java)和Web服务器(Apache2, Nginx), 理论上任何语言编写的程序都可以通过 Fastcgi
来提供 Web 服务。
Fastcgi
的特点是会在一个进程中依次完成多个请求,以达到提高效率的目的,大多数 Fastcgi
实现都会维护一个进程池。
而 PHP-fpm
就是针对于 PHP 的,Fastcgi
的一种实现,他负责管理一个进程池,来处理来自Web服务器的请求。目前,PHP-fpm
是内置于PHP的。
但是 PHP-fpm
仅仅是个 “PHP Fastcgi 进程管理器”, 它仍会调用PHP解释器本身来处理请求,PHP解释器(在Windows下)就是 php-cgi.exe.