cgi
cgi是一个协议,跟进程无关,比如说web server (nginx) 接收到一个php的网络请求,此时nginx需要根据配置文件,去找php的解析器,经过简单处理,将请求的一些信息交给php解析器,此时就规定了要传哪些协议,还有以什么样的格式传输,这个标准就叫做cgi协议。
php解释是实现了这个协议的cgi 程序,nginx将这些内容交给php解释器后,读取php.ini等初始化环境,然后处理数据,最终转换成符合这个协议的数据流交给nginx, 最终返回给浏览器。
fast-cgi
fast-cgi管理cgi程序
fast-cgi是一个常驻进程的程序,与cgi为每个web请求建立一个进程不同的是,fast-cgi在web server启动的时候会同时启动多个cgi程序,这样当进来动态页面请求的时候,就可以将数据流交由fast-cgi进程管理器,这样做的好处就是 web server可以处理更多的请求,并且解析php.ini这些工作只进行一次,提高响应速度。
如图所示:
php-fpm
php-fpm管理cgi程序
首先php-fpm是将fast-cgi整合之后加入一些新功能的产物,由于web server提供的fast-cgi程序进行管理php-cgi时有着诸多的缺点,例如修改了php.ini的配置文件,必须要重启web server才能使其生效(php-cgi不能平滑的启动,杀掉php-cgi时,php就不能正常的工作),当使用php-fpm时就能解决这些问题。
如图所示:
1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505