• CGI 、PHP-CGI、FASTCGI、PHP-FPM


    CGI是干嘛的?

      CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。web server(比如说nginx)只是内容的分发者。比如,如果请求的是/index/html,那么web server会去文件系统找到这个文件,发送给浏览器,这里分发的是静态数据。如果,请求的是/index.php,根据配置文件,nginx知道这不是一个静态文件,需要去找PHP解析器来处理,那么他会 把这个请求丢给PHP解释器,但是他如何跟PHP解释器进行沟通呢?CGI就是规定了他们之间沟通的协议。当PHP解析器处理完请求同理再以规定的CGUI格式返回处理后的结果,退出进程。web server 再将结果返回给浏览器。

    PHP-CGI是什么呢?

      PHP-CGI是PHP自带的FastCGI管理器。已经弃用了,原因在于修改php.ini必须要重启才能生效,不支持平滑重启;另外一个原因在于,杀死php-cgi进程后,php就不能运行了。(PHP-FPM和Spawn-FCGI就没有这个问题,守护进程会平滑从新生成新的子进程。)

    FASTCGI是什么?

      Fastcgi是用来提高CGI程序性能的。那么CGI程序的性能问题在哪呢?"PHP解析器会解析php.ini文件,初始化执行环境",就是这里了。标准的CGI对每个请求都会执行这些步骤,所以处理每个时间的时间会比较长。这明显不合理嘛!那么Fastcgi是怎么做的呢?其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。

    PHP-FPM是什么呢?

      PHP-FPM是一个PHP FASTCGI管理器,只能用于PHP。

  • 相关阅读:
    [转]java 常用弹出框
    [转]ImageIcon icon 相对路径设置
    [转]『基本ASCII表和c语言运算表查询』
    [转]sqlmap技术手册
    [转]linux下怎么查看ssh的用户登录日志
    [转]Kali-linux安装之后的简单设置
    查看任意程序所连接的ip地址
    JS 闭包
    JS 中的 继承
    JS 原型的 理解
  • 原文地址:https://www.cnblogs.com/huixuexidezhu/p/7223257.html
Copyright © 2020-2023  润新知