浅谈cgi、fastcgi及php-fpm的原理概念

本篇文章主要讲述的是cgi、fastcgi及php-fpm的原理概念,感兴趣的朋友可以了解一下哦。

1a10e604910780671d4f0ea7e427058c3277899f62385-xj55ZE_fw658.jpg

cgi

cgi是通用网关接口定义。当web server收到/index.php这个请求后,会启动对应的CGI程序,这里就是PHP的解析器。接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程。web server再把结果返回给浏览器。

fastcgi

fastcgi是一个协议。实现管理进程,提高cgi性能,标准cgi对每个请求都会解析php.ini,初始化环境,浪费时间;fastcgi启动master进程,解析配置文件,初始化环境,然后启动多个worker进程;请求过来时,master传递给worker进行处理;worker不够用会预先多起几个,worker空闲较多会停掉几个。

php-fpm

是一个实现了fastcgi协议的程序。修改php.ini之后,php-cgi进程无法平滑重启。php-fpm对此的处理机制是新的worker用新的配置,已经存在的worker处理完手上的活就可以歇着了,通过这种机制来平滑过度。

相关教程:PHP视频教程

以上就是浅谈cgi、fastcgi及php-fpm的原理概念的详细内容,更多请关注求知技术网其它相关文章!

发表评论

邮箱地址不会被公开。 必填项已用*标注