nginx、fastCGI、php-fpm关系梳理

还可以参考:http://www.cnblogs.com/skynet/p/4173450.html

前言:

Linux下搭建nginx+php+memached(LPMN)的时候,nginx.conf中配需要配置fastCGI,php需要安装php-fpm扩展并启动php-fpm守护进程,nginx才可以解析php脚本。那么,这样配置的背后原理是什么?nginx、fastCGI、php-fpm之间又有什么关系呢?博主一直有这样的疑惑,由于无法理清nginx、php-fpm之间的关系,遇到nginx解析不了php脚本的时候,往往不知所措,花费的问题排查时间也非常长。因此,特地抽时间了解这背后的原理,梳理了一下nginx、fastCGI、php-fpm之间的关系。
一、fastCGI?
fastCGI是由CGI(common gateway interface,通用网关接口)发展而来,是http服务器(nginx、apache)和动态脚本语言(php)之间的通信接口。记住,fastCGI只是一个接口。
fastCGI的优点:fastCGI采用C/S结构,可以将http服务器和动态脚本解析服务器分离(二者可以部署在不同的服务器上),让http服务器专一处理静态请求和转发动态请求到脚本解析服务器;脚本解析服务器则专一处理动态脚本的请求。
二、nginx+fastCGI
nginx不支持对外部程序的直接调用或者解析,必须通过fastCGI进行调用。nginx收到CGI请求之后,fastCGI接口在脚本解析服务器上,启动一个或者多个守护进程对动态脚本进行解析。
三、php-fpm
fastCGI进程管理器/引擎:即对动态脚本进行实际解析的守护进程,由fastCGI启动。这里,php-fpm就是支持解析php的一个fastCGI进程管理器/引擎。
总结:
fastCGI是nginx和php之间的一个通信接口,该接口实际处理过程通过启动php-fpm进程来解析php脚本,即php-fpm相当于一个动态应用服务器,从而实现nginx动态解析php。因此,如果nginx服务器需要支持php解析,需要在nginx.conf中增加php的配置:将php脚本转发到fastCGI进程监听的IP地址和端口(php-fpm.conf中指定)。同时,php安装的时候,需要开启支持fastCGI选项,并且编译安装php-fpm补丁/扩展,同时,需要启动php-fpm进程,才可以解析nginx通过fastCGI转发过来的php脚本
参考文章:
实战Nginx与PHP(FastCGI)的安装、配置与优化  (文章有非常详细的原理分析和配置参数说明,强烈推荐阅读)

转载于:https://www.cnblogs.com/jjzd/p/5772482.html

nginx、fastCGI、php-fpm关系梳理(转载参考)相关推荐

  1. nginx fastcgi php-fpm的关系梳理

    CGI(Common Gateway Interface) CGI全称是"公共网关接口"(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序 ...

  2. PHP-FPM,Nginx,FastCGI 之间的关系

    本文介绍 PHP-FPM,Nginx,FastCGI 三者之间的关系,以及 Nginx 反向代理和负载均衡的配置. PHP-FPM,Nginx,FastCGI 之间的关系 FastCGI 是一个协议, ...

  3. PHP-FPM,Nginx,FastCGI 三者之间的关系

    2019独角兽企业重金招聘Python工程师标准>>> 本文介绍 PHP-FPM,Nginx,FastCGI 三者之间的关系,以及 Nginx 反向代理和负载均衡的配置. PHP-F ...

  4. nginx+FastCGI到底是谁影响超时时间

    需求: 一个php程序要跑一段时间,但是时间不确定. 问题: 当该php程序运行超过一段时间被强制断开连接. PHP本身超时处理 在 php.ini 中,有一个参数 max_execution_tim ...

  5. Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布

    1.介绍     Nginx - 高性能web server,这个不用多说了,大家都知道.     FastCGI程序 - 常驻型CGI程序,它是语言无关的.可伸缩架构的CGI开放扩展,其主要行为是将 ...

  6. 实战:Nginx + FastCGI 程序(C/C++) 搭建高性能web server

    1.介绍 Nginx - 高性能web server,这个不用多说了,大家都知道. FastCGI程序 - 常驻型CGI程序,它是语言无关的.可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程 ...

  7. Nginx FastCGI的运行原理

    一.FastCGI 1.介绍 CGI全称通用网关接口 Commmon Gateway Interface 用于HTTP服务上的程序服务通信交流的一种工具,CGI程序须运行在网络服务器上. 传统CGI接 ...

  8. 运行中的Nginx进程间的关系

    第2章 Nginx的配置 Nginx拥有大量官方发布的模块和第三方模块,这些已有的模块可以帮助我们实现Web服务器上很多的功能.使用这些模块时,仅仅需要增加.修改一些配置项即可.因此,本章的目的是熟悉 ...

  9. 【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布

    http://blog.csdn.net/allenlinrui/article/details/19419721 分类: C/C++2014-02-18 17:58 3875人阅读 评论(0) 收藏 ...

最新文章

  1. 写了一个PPT,用于公司内部培训
  2. 易观的大数据中台之路
  3. 自然语言处理入门指北 之 one-hot
  4. bzoj-2957 楼房重建
  5. 我的MVVM框架 v0.1发布
  6. 跨湖跨仓场景下如何实现海量数据分钟级分析
  7. 程序员为3万福利放弃30万年薪:贪小便宜的人,都把自己坑惨了
  8. ServletConfig对象--配置初始化参数以及获取初始化参数
  9. 波长缩短系数matlab,波长缩短效应,天线缩短系数:天线末端效应、相位常数
  10. 开发QQ桌球瞄准器(1):桌球瞄准器介绍与使用方法
  11. 百度地图迁徙大数据_百度地图发布春运大数据,2020年返程规模下降六成
  12. 【已失效】免翻在Chrome上使用新必应(New Bing)聊天机器人
  13. 一年半的外包程序员心得体会
  14. 基于Android9的非root环境下frida-gadget持久化
  15. Mathorcup数学建模竞赛第六届-【妈妈杯】A题:淡水养殖池塘水华发生及池水自净化研究(附特等奖获奖论文、SAS和matlab代码)
  16. mysql 查询一个订单下多个商品_如何商品信息多个sql查询搜索
  17. DFS(深度优先搜索)详解(概念讲解,图片辅助,例题解释,剪枝技巧)
  18. 夏普第二季度亏损数十亿日元 光伏业务持续陷入苦战
  19. 修改信息显示服务器升级,无感门禁监控管理软件升级37条新功能
  20. 洛谷 P1768 天路

热门文章

  1. python3-Python3.7.0官方版
  2. python语言if语句-Python中if语句是怎么用的?本文详解
  3. python 命令行参数-Python处理命令行参数
  4. python爬虫案例-Python爬取租房数据实例,据说可以入门爬虫的小案例!
  5. python装饰器原理-python 中的装饰器及其原理
  6. python绘图实例-Python使用matplotlib简单绘图示例
  7. 小白学python买什么书-小白如何高效率学习python?真心建议(附教程)
  8. python命令行大全-用什么库写 Python 命令行程序(示例代码详解)
  9. 学python要多少钱-Python培训一般要多少钱?
  10. python序列类型-python序列类型种类详解