php-cgi与php-fpm

这里,我们尝试了解cgi、fastcgi、php-cgi、php-fpm这四个概念

cgi与fast-cgi

cgi不再多说,是一种web server和 web应用交换数据的协议

fastcgi是其改进版

这两个概念不难理解

php-cgi与php-fpm

php-cgi是实现了fastcgi协议的可执行程序,目前已经被收入php官方收入内核

当你安装了php后,自然会在相应的目录下生成php-cgi

他和php一样

php是cli模式下运行php脚本的解释器

php-cgi 是cgi模式下运行php脚本的解释器

如下图,打开/usr/bin路径,你会同时发现这两个可执行程序

php-fpm是对php-cgi的改进

也具有php脚本解释器的功能

在php某些较新的版本也把他收入了内核

回到cgi与fastcgi

相比于cgi频繁的fork-execute-end,fastcig实现了常驻内存

实现方法是通过一个主进程管理多个子进程的方式

php-cgi和php-fpm作为fastcgi的实现

都很好的继承了这一点

因此,在采用php-cg或者php-fpm的机器上

你都能看到一个mater-processed和几个相应子进程

php-cgi与php-fpm_第1张图片

 

你可能感兴趣的:(php-cgi与php-fpm)