cgi、fast-cgi、php-fpm
cgi和fast-cgi和php-fpm的关系。
cgi一个协议,为了保证web server端传过来的数据是标准的格式。
web server是内容分发者,比如Nginx、Apache,当需要请求动态库,比如php的程序后就会启动cgi。
fast-cgi是cgi的升级,提高了cgi的性能,fast-cgi通过master/woker的主/子进程的方式来进行请求处理。
php-fpm实现了fast-cgi的程序,它负责管理一个进程池。来处理web服务器的请求。采用master/worker多进程架构。worker处理php进程,而master则负责对worker进行管理与事件的监听。
php-fpm可以实现平滑重启,这也是和apache最大的区别,原理是修改配置文件后,老的woker继续运行老的配置,而新的woker则开始调用新的配置。