CGI,FastCGI都是一套接口标准;是编程语言(比如php,python; python里面也有wsgi)与web服务器(比如Nginx)的通信标准(比如你跟老外交流,那么FastCGI就相当于是英语了);

PHP-FPM是FastCGI的进程管理器

FastCGI是从传统的CGI发展过来的,传统的CGI,性能差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本分析器来执行解析,然后将结果返回给HTTP服务器。

FastCGI采用C/S结构,可以将HTTP服务器和脚本解析器分开在不同的服务器,FastCGI启动多个守护进程,web服务器与FastCG之间通过socket通信,比如php-fpm配置的9000端口。

当nginx接受到请求时,将请求转发给PHP-FPM,PHP-FPM接受到请求之后,派生一个新的线程,这个线程就调用php的解释器(php-cgi)来处理脚本并返回数据。

什么是FastCGI, PHP-FPM的更多相关文章

  1. 杂谈php之什么是cgi,fastcgi,fpm,cli,mod

    杂谈PHP极少关注的问题 本话题来自于我使用PHP进行网页爬虫的一次经历.对于一个web开发者来说,PHP解释器本身却知之甚小,实在是惭愧呐! 首先这个话题要从几个提问开始. PHP是什么? 外文名: ...

  2. 编译安装基于 fastcgi 模式的多虚拟主机的wordpress和discuz的LAMP架构

    目录 实现CentOS 7 编译安装基于 fastcgi 模式的多虚拟主机的wordpress和discuz的LAMP架构 准备环境: 准备软件版本: 主机名修改用以区分 数据库服务器 实现数据库二进 ...

  3. LAMP理论整理

    关于PHP 官网:http://www.php.net 一.PHP简介 PHP是通用服务器端脚本编程语言,其主要用于web开发以实现动态web页面,它也是最早实现将脚本嵌入HTML源码文档中的服务器端 ...

  4. Tomcat系列之Java技术详解

    一.概述 1.前言 在前面几篇博客中,我们和大家说了负载均衡器服务器.Web服务器.反向代理服务器.缓存服务器,从这篇博客开始我们和大家说说应用程序服务器,对于上述内容不了解的博友可以去参考一下我们前 ...

  5. 编译安装-PHP

    一.编译配置选项2 配置帮助表:2 安装目录:2 交叉编译选项:2 特征选项:3 SAPI模块设置:3 普通参数设置:4 扩展参数:4 PEAR相关选项:9 ZEND相关选项:9 TSRM线程安全资源 ...

  6. Get a handle on PHP Handlers

    PHP Handlers? mod_php? FPM? How do we make sense of the inner workings of PHP outside of our lines o ...

  7. 基于LNMP的Zabbbix之PHP源码安装

    安装一些依赖的包 wget -c ftp://xmlsoft.org/libxml2/libxml2-2.7.8.tar.gz .tar.gz -C ../source/ cd ../source/l ...

  8. Centos7-yum部署配置LAMP-之LAMP及php-fpm实现反代动态资源

    一.简介 LAMP:linux+apache+mysql(这里用mariadb)+php(perl,python) LAMMP:memcached缓存的 CGI:Common Gateway Inte ...

  9. http服务器搭建之apache与nginx的特性

    一.了解一些简单的概念 HTTP服务器程序: httpd(apache) nginx lighttpd(功能和nginx差不多,活跃度不如ng) 应用程序服务器: IIS Tomcat(开源jsp容器 ...

  10. nginx简介与配置

    nginx简介 nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行. nginx由俄罗斯的程序 ...

随机推荐

  1. Node.js 常用工具 (util.inherits)

    util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.inherits util.inherits(constructor ...

  2. @angular/cli项目构建--路由3

    路由定位: modifyUser(user) { this.router.navigate(['/auction/users', user.id]); } 路由定义: {path: 'users/:i ...

  3. ACM提交,C++,G++,C,GCC的区别

    今天做了一道水题,POJ-1004,水题一个,12个double类型的数求平均数 但是, #include <iostream> #include <cstdio> using ...

  4. OpenCV那个版本的比较好用、稳定,参考资料也较多的

    2.4.8.上opencv官网就能下载到,对应不同版本的VS有编译好的文件. 2.4以后的变化不大.所以你可以百度opencv,有中文网站,上面有详细的说明.如果是在windows系统的话,可以使用v ...

  5. 树莓派(Arduino)仿真软件 —— Fritzing

    Fritzing 官网:Fritzing Fritzing 下载地址:Fritzing Download windows 下降 zip 文件解压后,免安装双击 exe 即可运行:

  6. C#进阶之路(五):Linq初识

    关于LINQ的文章,网上有很多,所以这篇文章我主要是总结下我自己的学习心得. 首先需要先了解的相关技术 1.隐式类型.匿名类型.对象初始化器 1)隐式类型,使用var关键字创建,C#编译器会根据用于初 ...

  7. 「新手向」koa2从起步到填坑

    前传 出于兴趣最近开始研究koa2,由于之前有过一些express经验,以为koa还是很好上手的,但是用起来发现还是有些地方容易懵逼,因此整理此文,希望能够帮助到一些新人. 如果你不懂javascri ...

  8. 基于JDK1.7.0_80与JDK1.8.0_66做的分析

    JDK1.7中 使用一个Entry数组来存储数据,用key的hashcode取模来决定key会被放到数组里的位置,如果hashcode相同,或者hashcode取模后的结果相同(hash collis ...

  9. IDEA 设置导出

    见附件 https://files.cnblogs.com/files/chuancheng/settings.7z

  10. POJ3292(素数筛选)

    Semi-prime H-numbers Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8706   Accepted: 3 ...