zoukankan      html  css  js  c++  java
  • 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代码真正执行的地方。

  • 相关阅读:
    博客CSS样式 二
    产品经理
    HttpClient调用doGet、doPost、JSON传参及获得返回值
    Maven无法下载com.oracle:ojdbc.jar解决方法
    EasyExcel导入导出
    centos7 安装supervisor教程以及常见问题
    Django与Celery的安装使用
    亚马逊广告api v2版php扩展库
    Mac VMware Fusion CentOS7 安装、配置静态IP文档
    常见Web安全问题攻防解析
  • 原文地址:https://www.cnblogs.com/zgxblog/p/14034575.html
Copyright © 2011-2022 走看看