PHP运行的那些事:CGI、FastCGI、PHP-FPM

1.CGI

Common Gateway Interface,通用网关接口,帮助web服务器识别PHP的一种程序。

处理过程:
1.通过浏览器发送请求到web服务器
2.web服务器接收到请求后转给CGI
3.CGI把处理结果返回给web服务器
4.web服务器把结果返回给浏览器

每次请求完毕后会退出进程,再次请求会重新唤起,乍一听还挺环保,但是每次启动之后都会重新解析php.ini,重新载入扩展,请求的数量一多,耗费的资源也就越多,性能便会越来越低下,于是乎FastCGI就出现了。

2.FastCGI

Fast Common Gateway Interface,顾名思义,快的CGI,为了提高CGI性能而生。
处理过程:
1.启动主进程master,解析php.ini,载入扩展
2.启动多个子进程worker等待请求。
3.请求来临是由master分配请求到worker
4.worker处理请求

这么一看,FastCGI确实比CGI快了不少,因为它省去了每个CGI的解析配置文件和载入扩展的步骤,但是也不能说FastCGI就完美了,因为它启动的时候已经加载了配置文件,如果配置文件改动,FastCGI必须重启才能使之生效,为了不重启而且能够生效,PHP-FPM诞生了。

3.PHP-FPM

PHP FastCGI Process Manager,是一个PHPFastCGI进程管理器。

其实处理过程跟FastCGI一样,不过PHP-FPM有自己的优点就是平滑重启。FastCGI在配置文件改变的情况下,需要自身重启之后才能应用到新的配置文件,而PHP-FPM则不用,如果配置文件改变,新的worker则采用新的配置,这样便做到了平滑过渡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值