FastCGI 相关
来源:互联网 发布:中科大网络通 编辑:程序博客网 时间:2024/05/17 23:23
注:本文为作者学习FastCGI的时候,从多篇文章中看到的内容进行摘录。暂时未加验证及思考筛选。留作后续学习之用。会在相应地方标明摘录来源。
FastCGI的工作原理是:
转载来源:http://hi.baidu.com/%D2%D0%CC%EC/blog/item/d8f532d1cb22a1349b50274f.html
- Web Server 启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module);
- FastCGI进程管理器自身初始化,启动多个CGI解释器进程 (在任务管理器中可见多个php-cgi.exe)并等待来自Web Server的连接。
- 当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi.exe。
- FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在 WebServer中)的下一个连接。 在正常的CGI模式中,php-cgi.exe在此便退出了。
在上述情况中,你可以想象 CGI通常有多慢。每一个Web请求PHP都必须重新解析php.ini、重新载入全部dll扩展并重初始化全部数据结构。使用FastCGI,所有这些 都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作。
FastCGI的技术原理
转载来源:http://hi.baidu.com/fangle_life/blog/item /f7afa9ecc1f590dfb31cb1cb.html
如果想了解FastCGI的技术原理就要了解何为”短生存期应用程序”,何为”长生存期应用程序”。
先从CGI技术开刀,以下是CGI技术的理论:每次当客户请求一个CGI的时候,Web服务器就请求操作系统生成一个新的CGI进程。当CGI满足要求后,服务器就杀死这个进程。服务器对客户端的每个请求都要重复这样的过程。 而FastCGI技术的理论为:FastCGI程序一旦产生后,他可以持续工作,足够满足客户的请求直到被明确的终止。如果你希望通过协同处理来提高程序的性能,你可以请求Web服务器运行多个 FastCGI 应用程序的副本。
CGI就是所谓的短生存期应用程序,FastCGI就是所谓的长生存期应用程序。
由于 FastCGI程序并不需要不断的产生新进程,可以大大降低服务器的压力。并且产生较高的应用效率。
自今,较为流行的Java语言Servlet 技术在设计上是以参考FastCGI的技术运行所设计。
- FastCGI 相关
- Lighttpd fastcgi相关配置
- apache 2+PHP 5.3+FASTCGI相关小结
- FastCGI
- FastCGI
- fastcgi
- fastcgi
- fastcgi
- fastcgi
- fastcgi
- FastCGI
- FastCGI
- FastCGI
- FastCGI
- FastCGI
- FastCGI
- FastCGI
- 网站性能-cgi fastcgi mod_php相关概念整理
- 如何解决 NFS 目录访问被挂住的问题
- JAVA面试笔记(5)
- 轻松安装JBossPortal
- SEM基本指导原则:DICA漏斗
- Windows自动更新关闭/开启
- FastCGI 相关
- 《MFC那点事儿》---WinInet基础
- User Profile 同步问题
- 用Visual C++ 6.0编译xvid
- 第5章 数据库完整性(数据库系统概论)
- .NET 笔试题好多公司有这些题,值得.NET程序员收藏!
- 手机短信技术的实现
- lighttpd中 CGI 执行原理图
- Silverlight Toolkit--PivotViewer