搞不懂的PHP-FPM、CGI、Fast-CGI、PHP-CGI

一直以来都对php-fpm、cgi、fast-cgi之间的关系傻傻分不清楚,对于其之间的工作原理及概念也是糊里糊涂,那么到底这三者之间有着什么样的一种关系呢?它们之间又是如何协同工作的呢?

CIG

CGI全称是Common Geteway Interface,中文翻译公共网关接口,是HTTP服务器与你或者其他机器上的程序进行会话的一种工具,程序必须运行在网络服务器上。

Fast-CGI

Fast-CGI是CGI的fast版本,是常驻内存的CGI,并接收进程管理器的调度。不会像CGI每次激活都要fork出一进程来加载解释器导致性能下降的缺点。

PHP-CGI

PHP-CGI是实现了CGI接口协议的php脚本解析器。

PHP-FPM

管理和调度PHP-CGI进程,进而实现Fast-CGI协议接口的程序。