这里,咱们尝试了解cgi、fastcgi、php-cgi、php-fpm这四个概念php
cgi与fast-cgiweb
cgi再也不多说,是一种web server和 web应用交换数据的协议php-fpm
fastcgi是其改进版spa
这两个概念不难理解3d
php-cgi与php-fpmserver
php-cgi是实现了fastcgi协议的可执行程序,目前已经被收入php官方收入内核blog
当你安装了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和几个相应子进程