• cgi、fast-cgi和php-fpm的介绍(作用)


    一、cgi(Common Gateway Interface、通用网关接口):

           早期的web服务器只能处理html等静态文件,但是随着技术的发展,出现了像java、php等动态语言。 web服务器处理不了,只能交给对应语言的解释器来处理,比如java或php的解释器。但是解释器如何与web服务器进行通信呢?为了解决不同的语言解释器(如java、php解释器)与web服务器通信,于是出现了cgi协议。只要按照cgi协议去编写程序,就能实现各语言解释器与web服务器的通信,比如php-cgi。

    二、fast-cgi:

           有了cgi,解决了解释器与web服务器的通信问题,web服务器终于可以处理动态语言了。但是web服务器每收到一个请求,都会fork一个cgi进程,请求结束后再kill掉这个进程。这样有10000个请求,就需要fork、kill php-cgi进程10000次,很浪费资源。于是出现了cgi的改良版本fast-cgi。fast-cgi每次处理完请求后,不会kill掉这个进程,而是保留这个进程,使这个进程可以一次处理多个请求。这样每次就不用重新fork一个进程了,大大提高效率。

    三、php-fpm(php-Fastcgi Process Manager):

           php-fpm是php的fast-cgi进程管理器,进程包含master进程和worker进程两种进程。master进程只有一个,负责监听端口,接收来自web服务器的请求,而worker进程则一般有多个(具体数量根据实际需要配置),每个进程内部都嵌入了一个 php解释器,是php代码真正执行的地方。

  • 相关阅读:
    纯css3实现旋转的太极图
    webstorm9.3 安装less 编译css教程
    javascript之查找数组中最小/最大的数
    javascript基础之打印乘法表
    javascript之查找数组元素
    jvascript 顺序查找和二分查找法
    Vue基础知识之常用属性和事件修饰符(二)
    Vue源码(一)
    BFC以及margin的深入探究
    jQuery中Ajax参数详细介绍
  • 原文地址:https://www.cnblogs.com/zgxblog/p/14034575.html
Copyright © 2020-2023  润新知