1、什么是 CGI?
是公共网关接口协议,一个协议。CGI 就是规定要传哪些数据,以什么样的格式传递给后方处理这个请求的协议。
2、什么是 FastCGI?
FastCGI 像是一个常驻 (long-live) 型的 CGI。和 CGI 一样的东西,做了下优化,也是一个协议
3、什么是 php-CGI?
PHP-CGI 是 PHP 自带的 FastCGI 进程管理器。
4、什么是 php-fpm?
第三方 FastCG I 的进程管理器,解决 PHP-CGI 的一些问题,并管理 PHP-CGI。
5、php-fpm 与 fastcgi 什么关系?
php-fpm 是针对 php 的,实现了 FastCGI 协议的,并提供了对 php-CGI 管理的一个进程管理器。
6、php-fpm 解决了什么问题?
php-CGI 的平滑重启。
php-CGI 的常驻管理。(这里的常驻是指在 php-CGI 进程被杀死后 php 就挂了,php-fpm 会在 php 进程被杀死后重新启动 php-CGI)
动静分离实现?
7、php-fpm 独立运行在非 web 服务器上,实现所谓的动静分离。
8、php 上的 php-cgi 和 php-fpm 都是 php 对 FastCGI 协议的实现。后者还提供了 php-CGI 进程的管理。
9、由于 FastCGI 是多进程,所以比 CGI 多线程消耗