1 Web Server与app传递数据的方法:Apache采用加载模块的方式

apache->
httpd[apache的进程]->
LoadModule->php5_module(把php作为apache的一个子模块来运行)->
SAPI
[传递数据给php cgi或者fastcgi是进行转换数据的一种协议 进行转换接收到的数据php-cgi是针对cgi协议的接口程序,,他自己本身只能解析请求,返回结果,不会进程管理php-fpm是针对fastcgi协议的接口程序,,他自己本身能够解析请求,返回结果,也会进程管理
]

2 CGI FastCGI

CGI

是 Web Server 与 Web Application 之间数据交换的一种协议。
优点:CGI的好处就是完全独立于任何服务器,仅仅是做为中间分子。提供接口给web服务器和web应用(如提
nginx和php)。他们通过cgi搭线来完成数据传递。使他们变得更独立。
缺点:但是CGI有个难受的地方,就是每一次web请求都会有启动和退出过程,也就是最为人诟病的fork-and-
execute模式,这样一在大规模并发下,就死翘翘了。

FastCGI

FastCGI是用来提高CGI程序性能的。类似于CGI,FastCGI也可以说是一种协议。
FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,
只要激活后,不会每次都要花费时间去fork一次。

CGI的处理过程:每进程消耗7至25兆内存

1 当收到请求后,会启动对应的php-cgi,Pphpcgi会解析php.ini,初始化执行环境,
2 处理完成后 再以规定的CGI规定的格式返回结果,退出进程

FASTCGI的处理过程

1 FastCGI程序会先启动一个master,解析配置环境,初始化环境,然后再启动多个worker。
2 当请求过来时,master会传递给一个worker,然后立即可以接受下一个请求。

PHP的SAPI【web server与应用程序沟通的标准泛称】:CGI、FastCGI 【web server与应用程序的具体标准】及其对应程序PHP-CGI PHP-FPM【具体的程序应用】相关推荐

  1. 创建react应用程序_使用SpringWebFlux的React式Web应用程序

    创建react应用程序 1.React式编程简介 React式编程是为具有以下特征的应用程序创造的术语: 非阻塞应用 事件驱动和异步 需要少量线程来垂直扩展(即在JVM中) 就像面向对象的编程,函数式 ...

  2. 构建meteor应用程序_我构建了一个渐进式Web应用程序并将其发布在3个应用程序商店中。 这是我学到的。...

    构建meteor应用程序 by JudahGabriel Himango 犹大(Gabriel Himango) 我构建了一个渐进式Web应用程序并将其发布在3个应用程序商店中. 这是我学到的. (I ...

  3. cdt规约报文用程序解析_用 Python 撸一个 Web 服务器第3章:使用 MVC 构建程序

    Todo List 程序介绍 我们将要编写的 Todo List 程序包含四个页面,分别是注册页面.登录页面.首页.编辑页面.以下分别为四个页面的截图. 注册页面: 登录页面: 首页: 编辑页面: 程 ...

  4. 使用SQL Server 2017 Docker容器在.NET Core中进行本地Web API开发

    目录 介绍 先决条件 最好事先知道 假设 动机 跨平台 快速安装 经济有效 不同版本/多个实例 速度 持久性 找到SQL Server 2017镜像并在本地下载它 在没有卷挂载的情况下在本地执行SQ​ ...

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

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

  6. 客户端/服务器程序_了解客户端/服务器协议和Web应用程序

    客户端/服务器程序 Introduction 介绍 HyperText Transfer Protocol or "HTTP" is the underpinning of int ...

  7. 服务器应用程序不可用 您试图在此WEB上访问的web应用程序当前不可用

     文框架下出现: 服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的"刷新"按钮重试您的请求. 管理员注意事项: 详述 ...

  8. python画鱼骨图_程序员高效率实用工具推荐(web开发+爬虫+数据库+可视化工具+……)...

    最近我深深的发现利用好编程实用小工具,代码简直在狂奔,工作效率也在大大提升.那种没有deadline压迫感的得意嘴脸,估计你分分钟想往我脸上扔100个臭鸡蛋-- 为了让大家能像我一样神清气爽,不再成为 ...

  9. ASP .NET Core Web MVC系列教程:使用ASP .NET Core创建MVC Web应用程序

    本系列教程翻译自微软官方教程,官方教程地址:Get started with ASP.NET Core MVC | Microsoft Docs 本系列教程介绍了构建MVC Web应用程序的基础知识. ...

最新文章

  1. iOS UILabel加载html点击图片查看大图 附demo
  2. leetcode算法题--合并两个排序的链表
  3. Spring boot (6)---SpringMVC框架和spring Boot的区别
  4. 从skyeye学习arm(文件系统篇)
  5. lnk200无法解析的外部符号_语义解析
  6. 测试人员常用的20个Linux命令(附Linux视频教程)
  7. 前端js十六进制格式的颜色和rgba格式颜色互转
  8. Shell脚本-Dong
  9. 计算机毕业设计(附源码)python疫情防控管理系统
  10. SOT-23封装对应元器件、管脚分布及其功能示意汇总
  11. HBuilderXHBuilder连接雷电模拟器“未检测到手机或模拟器” ---- 问题解决
  12. 2019TFE计算机科学排名,美国留学|2019TFE Times 硕士专业排名
  13. 2. 企业发放的奖金根据利润提成. 利润(I)低于或等于10万元时, 奖金可提10%;利润高于10万元, 低于20万元时, 低于10万元的部分按10%提成,...
  14. vba设置Excel单元格左对齐、右对齐、居中对齐、字体、字号、字型
  15. 从1到n年中的闰年个数判断
  16. Base64 加密解密图片
  17. 表单的一些样式以及属性
  18. Elasticsearch锁定内存失败解决办法
  19. 基于simulink的FM调制解调系统仿真
  20. matlab命令行窗口显示长度设置_由于运算出来的数据比较多,在命令窗口里显示不全,matlab怎么设置才能在命令窗口中显示全部运算结果...

热门文章

  1. 22 Python IO、打印到屏幕、读取键盘输入、打开和关闭文件、文件定位、重命名和删除文件、Python里的目录、文件,目录相关的方法
  2. 虚拟机克隆,并设置新的ip,配置hostname,配合hostname,hosts
  3. Oracle 11g客户端及PLSQL Developer配置|Instant Client Setup-64位|OraClientLite11g_x86
  4. 项目质量管理知识点整理和习题整理
  5. 在IFrame中查找IFRAME中的元素的方式
  6. STL之multiset中equal_range,multimap中的equal_range,bitset容器,string字符串操作,lambda表达式
  7. 配置DispatcherServlet
  8. Android中BroadcastReceiver
  9. 数据库元数据数据字典查询_1_列出模式中所有的表
  10. 寄存器分配图着色_富士苹果促进着色技术八大要点!是时候看看了!