php-fpm的工作原理

cgi

cgi协议是为了解决不同语言和webserver之间的通信。只有你按照cgi协议去编写程序,才能和webserver通信,例如:php-cgi

fast-cgi

fast-cgi是在cgi基础上改进的,
每次连接请求都会fork一个cgi进程,结束后还要kill掉,导致很大的资源浪费
fast-cgi处理完后并不会kill掉,而是保留这个进程,可以继续处理下一个请求,提高了效率

php-fpm

php-fpm即是php-fastcgi process Manager
php-fpm是FastCGI的实现,并提供了进程管理功能,包含master进程和worker进程
master进程只有一个,负责监听端口,接受webserver的请求,而worker进程则一般有多个,每一个都内嵌了一个PHP解释器,是PHP代码整整执行的地方

你可能感兴趣的:(php-fpm的工作原理)