什么是FastCGI?
来源:互联网 发布:网络拍卖经营许可证 编辑:程序博客网 时间:2024/06/14 01:13
CGI即通用网关接口(Common Gateway Interface),它是一段程序,运行在服务器上,提供与客户端HTML页面的交互。
通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML页面提交的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页面。
一、传统CGI
- 在CGI模式下每次请求PHP都要重新解析php.ini,重新加载全部扩展和初始化数据结构。
- 每次HTTP服务器遇到动态脚本时,都要重启动脚本解析器来解析。fork-and-execute模式。
- 安全性差。
- 高并发时,效率低。
二、FastCGI
- 可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。
- 多数流行的HTTP server都支持,如:Apache、Nginx和lighttpd等。
- 很多脚本语言支持,如:PHP。
- FastCGI是从CGI发展改进而来的。
- 采用C/S结构,HTTP服务器和脚本解析服务器分离,多个脚本解析守护进程。
- 扩展加载和数据结构初始化,在进程启动时只发生一次。
FastCGI原理图:
Internet 请求静态资源,Nginx 则直接返回静态资源。
请求动态脚本,Nginx 则将动态脚本转至 FastCGI 进程处理,完成后,返回处理结果给 Nginx,然后返回给Internet的客户端。
当 Nginx 将 CGI 请求发送给socket 的时候,通过 FastCGI 接口,wrapper接收到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;
接着,wrapper 再将返回的数据通过 FastCGI 接口,沿着固定的 socket 传递给 Nginx;最后,Nginx 将返回的数据发送给客户端。
参考资料:
http://www.fastcgi.com
- 什么是 FastCGI
- 什么是FastCGI?
- 什么是FastCGI?
- 什么是FastCGI?
- 什么是fastCGI
- 什么是PHP FastCGI?
- 什么是FastCGI和FastCGI的优点
- 什么是cgi,fastcgi,php-fpm
- 什么是CGI、FastCGI、PHP-CGI、PHP…
- 什么是CGI、FastCGI、php-cgi、php-fpm?
- 什么是CGI、FastCGI、php-cgi、php-fpm?
- 什么是CGI、FastCGI、php-cgi、php-fpm?
- FastCGI
- FastCGI
- fastcgi
- fastcgi
- fastcgi
- fastcgi
- tslib1.4移植
- java 从jar包中读取资源文件
- TemplateMethod模式
- TD注意
- 手动从Mysql 5.1.X 升级到 5.5.X 要注意的其它内容
- 什么是FastCGI?
- Qt学习之路(3):Hello, world!(续)
- 前端常用的获取参数的方法
- Android 使用Parcelable序列化对象
- 当服务端的接口没有改变,而实现改变了,需要重新发布一下,客户端不需要做任何更改
- java#2 线程的两种创建方式
- 装逼的程序猿
- IOS根据两个经纬度计算相距距离
- Cookie 中的setDomain 和 setPath的区别? .