CGI
Common Gateway Interface 公共网关接口。web server 与后台语言交互的协议,它们之间就可以相互通信。
CGi每处理一个请求都需要fork一个新的进程,结束时再kill。随着高并发业务发展,FastCgi随之替代cgi
FastCGI
顾名思义,快速的cgi,它允许在一个进程中处理多个请求,在一个请求结束的时候不会直接结束进程。减少进程对资源和内存的消耗。
PHP-FPM
FPM (FastCGI Process Manager) 进程管理器。php-fpm包含两种进程 master和worker。master 进程只有一个,负责监听端口,接收来自 Web Server 的请求,而 worker 进程则一般有多个 (具体数量根据实际需要配置)。
每次收到web server请求,master进程分配任务给子进程worker(php-cgi)处理,请求处理完毕这个php-cgi并不会关闭,而是继续等待下一个连接,这也是fast-cgi加速的原理。因为常驻内存,php-cgi基本消耗7-25M内存,如果进程过多导致内存消耗过大,引起502错误。
引用大神的图解blog.csdn.net/belen_xue/a…
下面是无php-fpm管理的