PHP-FPM是一个PHPFastCGI管理器,是只用于PHP的。
然后这里解释一下什么是PHPFastCGI。CGI(公共网关接口),是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。

cgi具体解释

web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解析器来处理,那么他会把这个请求简单处理后交给PHP解析器。Nginx会传哪些数据给PHP解析器呢?url要有吧,查询字符串也得有吧,POST数据也要有,HTTP header不能少吧,好的,CGI就是规定要传哪些数据、以什么样的格式传递给后方处理这个请求的协议。仔细想想,你在PHP代码中使用的用户从哪里来的。当web server收到/index.php这个请求后,会启动对应的CGI程序,这里就是PHP的解析器。接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程。web server再把结果返回给浏览器。

fastCGI

CGI是个协议,跟进程什么的没关系。那fastcgi又是什么呢?Fastcgi是用来提高CGI程序性能的。提高性能,那么CGI程序的性能问题在哪呢?"PHP解析器会解析php.ini文件,初始化执行环境",就是这里了。标准的CGI对每个请求都会执行这些步骤,所以处理每个时间的时间会比较长。明显不太合理。那么Fastcgi是怎么做的呢?首先,Fastcgi会先启一个master,解析配置文件,初始化执行环境,然后再启动多个worker。当请求过来时,master会传递给一个worker,然后立即可以接受下一个请求。这样就避免了重复的劳动,效率自然是高。而且当worker不够用时,master可以根据配置预先启动几个worker等着;当然空闲worker太多时,也会停掉一些,这样就提高了性能,也节约了资源。这就是fastcgi的对进程的管理。

php fqm

那PHP-FPM又是什么呢?是一个实现了Fastcgi的程序,被PHP官方收录了。之前,PHP的解释器是php-cgi。php-cgi只是个CGI程序,他自己本身只能解析请求,返回结果,不会进程管理,所以就出现了一些能够调度php-cgi进程的程序,比如说由lighthttpd分离出来的spawn-fcgi。PHP-FPM也是这样的软件,在长时间的发展后,逐渐得到了大众的认可,也越来越流行。

[php fqm说明]以及nginx和apache的一些说明相关推荐

  1. nginx 代理 内存_科普Nginx和apache的区别及优缺点比较

    最近很多小伙伴来问我Nginx和apache的区别,这个问题用三言两语也很难解释,于是整理出了这一篇文章与大家共享.除了Nginx和apache的区别,还比较了各自的优缺点.这是我自学Nginx和工作 ...

  2. linux下查看nginx,apache,mysql,php的编译参数

    有时候nginx,apache,mysql,php编译完了想看看编译参数可以用以下方法 nginx编译参数: #/usr/local/nginx/sbin/nginx -V nginx version ...

  3. 阿里云服务器ECS Linux系统分析nginx或apache当天访问最多的IP

    Linux 系统查询 nginx 或 apache 当天访问最多的 IP 方法,以一键安装包为例可以执行如下命令: cat /alidata/log/nginx/access/testweb.log ...

  4. [转] linux下查看nginx,apache,mysql,php的编译参数

    转载自: http://blog.c1gstudio.com/archives/631 转自linuxtone.org 哈密瓜 http://bbs.linuxtone.org/thread-2776 ...

  5. docker 安装nginx_Docker18安装Nginx和Apache实验

    实验目的: 前一帖简单的实验了一下Docker的安装,过程其实也不难,按照官网指导做,基本上都能成功,唯一的困难可能就是英文的阅读,很多人面对英文时"脑壳疼",我当然也一样,本身就 ...

  6. nginx与Apache的涉及的计算机原理说明

    Nginx才短短几年,就拿下了web服务器大笔江山,众所周知,Nginx在处理大并发静态请求方面,效率明显高于httpd,甚至能轻松解决C10K问题.下面我们就来聊聊Web服务器背后的一些原理. 注: ...

  7. 正确设置nginx/php-fpm/apache权限 提高网站安全性 防止被挂木马

    2019独角兽企业重金招聘Python工程师标准>>> 核心总结:php-fpm/apache 进程所使用的用户,不能是网站文件所有者. 凡是违背这个原则,则不符合最小权限原则. 根 ...

  8. 如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理

    如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理 Nginx 是一款自由开源的 HTTP 和反向代理服务器,也可以用作 POP3/IMAP 的邮件代理服务器.Ngi ...

  9. nginx,tomcat,apache三者分别用来做什么,有何区别

    1. Nginx和tomcat的区别 nginx常用做静态内容服务和代理服务器,直接外来请求转发给后面的应用服务器(tomcat,Django等),tomcat更多用来做一个应用容器,让java we ...

最新文章

  1. 【转】Scott_ASP.NET MVC框架(第三部分) 把ViewData从控制器传到视图
  2. tp3.2 不能提交到action方法_什么是死锁,如何避免死锁(4种方法)
  3. Swift傻傻分不清楚系列(五) 字符串和字符
  4. “约见”面试官系列之常见面试题之第八十五篇之css响应式(建议收藏)
  5. Pell数列(信息学奥赛一本通-T1202)
  6. 《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一3.2.2 建立实验室...
  7. 【华为云技术分享】区块链与数据库如何结合?
  8. 时间加减计算器_小学生苦练加减乘除计算“基本功”,有没有必要?
  9. android 有序广播例子,有序广播的实例解析--android案例《拦截有序广播》
  10. [翻译]RoboChamps城市挑战赛
  11. The First Python man in Github
  12. 2.NET Core设定数据库种子
  13. python获取文件列表失败_python – Pytesseract没有这样的文件或目录错误
  14. 东北大学软件项目管理与过程改进复习提纲(2020)——第四章《项目综合管理》
  15. java IO流经典编程题(5题)
  16. 数值计算之第三期:直接法解线性方程组
  17. 微信小程序如何跳转视频号直播间
  18. 一文教你学会DIY串口线
  19. [量化-038]python代码-根据roe估算公司的pb值
  20. android 控件发光_Android自定义控件打造闪闪发光字体

热门文章

  1. python爬虫实训心得_python实训心得体会
  2. Android起始内存大,调整Android Studio分配内存大小
  3. csr867x入门之iis使用(八)
  4. 微信小程序 画布 组件
  5. MAC免费解压软件——解压RAR、7Zip等五六十种格式
  6. 分形造型的常用模型,C构造简单的IFS图形
  7. 国际标准书号 (International Standard Book Number, ISBN)是专门为识别图书等文献而设计的国际编号
  8. errorCode 1045,state 28000: Access denied for user 'mysql'@'localhost' (using password: YES)
  9. excel去除重复处理
  10. hdu——4379 ——The More The Better