fastcgi 订阅
FastCGI
信息
操作系统
跨平台
开发语言
C/C++
开源协议
未知
FastCGI
fastcgi 这个技术标准作为一种替代 cgi 的技术标准, fastcgi 有如下优点(稳定,安全,高性能,方便扩展) 从稳定性上看, fastcgi 是以独立的进程池运行来 cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑. 从安全性上看, fastcgi 和宿主的 server 完全独立, fastcgi 怎么 down 也不会把 server 搞垮, 从性能上看, fastcgi 把动态逻辑的处理从 server 中分离出来, 大负荷的 IO 处理还是留给宿主 server, 这样宿主 server 可以一心一意作 IO,对于一个普通的动态网页来说, 逻辑处理可能只有一小部分, 大量的图片等静态 IO 处理完全不需要逻辑程序的参与 从扩展性上讲, fastcgi 是一个中立的技术标准, 完全可以支持任何语言写的处理程序(php,java,python...)
收起全文
精华内容
参与话题
问答
  • fastcgi

    2019-10-05 20:17:55
    转自百度百科 http://baike.baidu.com/link?url=L1yBAxk5viWlLSmcNbCNLFYF8py_eGAnyeIGZZrzDyYm4xp9hyRsFDWTo8cbrO-R7r2unB0z-JZP15zSIug1j_ CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与...

    转自百度百科  http://baike.baidu.com/link?url=L1yBAxk5viWlLSmcNbCNLFYF8py_eGAnyeIGZZrzDyYm4xp9hyRsFDWTo8cbrO-R7r2unB0z-JZP15zSIug1j_

          CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序一般运行在网络服务器上。 CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等

         

    FastCGI编辑

    FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
    FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。
     

    原理编辑

    1、Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module)
    2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Server的连接。
    3、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
    4、FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。 在CGI模式中,php-cgi在此便退出了。
    在上述情况中,你可以想象CGI通常有多慢。每一个Web请求PHP都必须重新解析php.ini、重新载入全部扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作。

    特点编辑

    1、如CGI,FastCGI也具有语言无关性。
    2、如CGI, FastCGI在进程中的应用程序,独立于核心web服务器运行,提供了一个比API更安全的环境。(API是把应用程序的代码与核心的web服务器链接在一起,这意味着在一个错误的API的应用程序可能会损坏其他应用程序或核心服务器; 恶意的API的应用程序代码甚至可以窃取另一个应用程序或核心服务器的密钥。)
    3、FastCGI技术目前支持语言有 PHPC/C++、Java、Perl、Tcl、PythonSmallTalkRuby、AAUTO等。相关模块在Apache,IISLighttpd,Nginx等流行的服务器上也是可用的。
    4、如CGI,FastCGI的不依赖于任何Web服务器的内部架构,因此即使服务器技术的变化, FastCGI依然稳定不变。

     

    转载于:https://www.cnblogs.com/zhangdashuai/p/5140440.html

    展开全文
  • FastCGI

    2019-09-26 22:00:18
     FastCGI是Web服务器和处理程序之间通信的一种协议,是CGI的一种改进,FastCGI类似一个常驻性的CGI,它可以一直执行,在请求到达时不会花费时间去fork一个进程进来处理。因为他只是一个通信协议,且支持分布式的...

      CGI全程“通用网关接口”,它可以让一个客户端从网页浏览器向执行在Web服务器上的程序请求数据,CGI描述了客户端和这个程序之间传输数据的一种标准。

      FastCGI是Web服务器和处理程序之间通信的一种协议,是CGI的一种改进,FastCGI类似一个常驻性的CGI,它可以一直执行,在请求到达时不会花费时间去fork一个进程进来处理。因为他只是一个通信协议,且支持分布式的运算,即FastCGI程序可以在网站服务器以外的主机上执行并接受且接受来自其他网站服务器的请求。

      FastCGI是与语言无关的、可伸缩架构的CGI开发扩展,将CGI解释器进程保持在内存当中,可以获得较高的性能。CGI程序反复加载是CGI性能地下的主要原因,如果CGI程序保持在内存中并接收FastCGI进程管理器的调度,则可以提供良好的性能、伸缩性等。

      FastCGI大致工作流程:

      ①Web Service在启动时加载FastCGI进程管理器;

      ②FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Service的连接;

      ③当客户端请求到达Web Service时,FastCGI进程管理器选择并链接到一个CGI解释器。Web Service 将CGI环境变量和标准输入发送到FastCGI进程php-cgi

      ④FastCGI子进程完成处理后将标准输出和错误信息从同一个连接返回Web Service,当FastCGI子进程关闭连接时,请求便处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器的下一个连接。

     

      PHP中的CGI实现:

      PHP的CGI实现了FastCGI协议,是一个TCP或UDP协议的服务器接收来自Web服务器的请求,当启动时创建TCP/UDP协议的服务器的socket监听,并接收相关请求进行处理。随后进入PHP的生命周期:模块初始化、sapi初始化、处理PHP请求、模块关闭、sapi关闭等。

      以TCP为例,在TCP的服务店,一般会执行的几个操作步骤:

      ①调用socket函数创建一个TCP用的流式套接字;

      ②调用bind函数将服务器的本地地址与前面创建的套接字绑定;

      ③调用listen函数创建新的套接字作为监听,等待客户端发起的连接,当客户端有多个连接连接到这个套接字时,可能需要排队处理;

      ④服务器进程调用accept函数进入阻塞状态,直到有客户进程调用connect函数从而建立以一个连接;

      ⑤当与客户端创建连接后,服务器调用red_stream函数读取客户的请求;

      ⑥处理完数据后,服务器调用weite函数向客户端发送应答。

     

    转载于:https://www.cnblogs.com/dong-blog/p/9673568.html

    展开全文
  • lighttpd fastcgi

    2018-07-24 11:33:56
    5.注意fastcgi程序编译方式 进入cgi-bin目录中编译方式如下 2228 gcc -o caoft.fcgi echo.c -lpthread -lfcgi 2229 gcc -o caoft.fcgi size.c -lpthread -lfcgi 2230 gcc -o caoft.fcgi threaded.c -lpthread -...
  • FastCGI connector

    2020-12-02 10:03:03
    <div><p>We need a FastCGI connector. FastCGI support is more widely available than SCGI support and protocol is more capable in general (multiplexing support). <p>The plan is to implement FastCGI ...
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; ...
  • FastCGI | FastCGI -

    2019-10-05 23:45:54
    FastCGI | FastCGI - FastCGI | FastCGI -FastCGIAbout FastCGIFastCGI is simple because it is actually CGI with only a few extensions.Li...

    FastCGI | FastCGI -

    FastCGI

    About FastCGI

    • FastCGI is simple because it is actually CGI with only a few extensions.
    • Like CGI, FastCGI is also language-independent. For instance, FastCGI provides a way to improve the performance of the thousands of Perl applications that have been written for the Web.
    • Like CGI, FastCGI runs applications in processes isolated from the core Web server, which provides greater security than APIs. (APIs link application code into the core Web server, which means that a bug in one API-based application can corrupt another application or the core server; a malicious API-based application can, for example, steal key security secrets from another application or the core server.)
    • Although FastCGI cannot duplicate the universality of CGI overnight, the FastCGI developers are committed to propagating FastCGI as an open standard. To that end, free FastCGI application libraries (C/C++, Java, Perl, Tcl) and upgrade modules for popular free servers (Apache, ISS, Lighttpd) are available.
    • Like CGI, FastCGI is not tied to the internal architecture of any Web server and is therefore stable even when server technology changes. An API reflects the internal architecture of a Web server, so when that architecture changes, so does the API.

    Not only does FastCGI restore the strengths of CGI, it also adds two new benefits:

    • Distributed computing: Companies can run their FastCGI application on a different machine from the one on which they run their Web server. Distributed computing is a proven technique for scaling, linking to existing corporate systems, improving system availability, and improving security via compartmentalization, such as firewalls.
    • Multiple and extensible roles: CGI applications compute the response to an HTTP request. FastCGI applications can do that and more, such as perform modular authentication and authorization checks and translate data from one type to another. FastCGI is designed so that more roles can be introduced in the future.

    Development on FastCGI:

    There is not much development on FastCGI because it is a very stable protocol / application.

    But, yes, we are here...

    posted on 2014-03-12 10:18 lexus 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/lexus/p/3595727.html

    展开全文
  • FastCGI介绍

    2020-10-28 11:31:28
    本文主要介绍 FastCGI 的相关知识。有关 CGI 的知识,点击此处查看。 概述 FastCGI 实际上是增加了一些扩展功能的 CGI 、是 CGI 的改进,描述了客户端和Web服务器程序之间传输数据的一种标准。 FastCGI 致力于减少...

    本文主要介绍 FastCGI 的相关知识。有关 CGI 的知识,点击此处查看。

    1. 概述

    FastCGI 实际上是增加了一些扩展功能的 CGI 、是 CGI 的改进,描述了客户端和Web服务器程序之间传输数据的一种标准。

    FastCGI 致力于减少Web服务器与CGI程序之间进行互动的开销,从而使Web服务器可以同时处理更多的Web请求。与 CGI 为每个Web请求创建一个新的进程不同, FastCGI 使用持续的进程来处理一连串的Web请求,这些进程由FastCGI进程管理器管理,而不是Web服务器。
    2. FastCGI 与 CGI
    2.1 相同点

    与 CGI 一样, FastCGI 也是语言无关的
    与 CGI 一样, FastCGI 在独立于Web服务器的(FastCGI)进程中运行应用程序,这种方式相对于 API 来说,具有更高的安全性。 API 将程序代码接口连接到Web服务器中,这可能导致:当某一个基于 API 的程序出现 bug 时,就会影响到其他应用程序或Web服务器。例如,一个恶意的基于 API 的程序可以从其他的应用程序或Web服务器中窃取关键的安全秘密
    与 CGI 一样, FastCGI 与任何Web服务器的内部架构都不存在绑定关系,因此,当Web服务器技术改变时, FastCGI 依旧很稳定。如果某个 API 与Web服务器的内部架构有关联,那么当Web服务器的架构发生变化时,这个 API 也要做出相应的改变
    

    2.2 不同点

    FastCGI 不仅继承了 CGI 的优点,而且还新增了若干新功能。

    分布式计算:我们可以Web服务器以外的机器上运行 FastCGI 应用程序。分布式计算是一项经过验证的技术,该技术应用于:调整、连接已存在的合作系统,充分利用系统性能,提升系统安全性(如 firewalls)
    多角色与可扩展角色: CGI 应用程序处理HTTP请求并给出返回值, FastCGI 的功能不止于此,例如,执行模块化的认证和身份检查、转换数据格式。FastCGI 的这些特性使其将来可充当更多的角色。
    
    1. 架构图

    FastCGI 的架构图如下:

    FastCGI 的工作流程如下:

    【准备阶段】:

    1. Web服务器启动时,初始化 FastCGI 的程序执行环境。例如 Nginx 服务器对应的 ngx_http_fastcgi_module 模块

    2. FastCGI进程管理器自身初始化,启动多个CGI解释器进程并等待来自Web服务器的连接。例如,使用 spawn-fcgi FastCGI进程管理器启动 demo :

    spawn-fcgi -a 127.0.0.1 -p 8080 -f /opt/nginx-1.7.7/cgi-bin/demo

    说明:启动 FastCGI 进程时,可以配置以 IP 或UNIX域socket两种方式启动。

    【循环阶段】:

    1. 当客户端请求到达Web服务器时,Web服务器将该请求采用socket方式转发到 FastCGI 主进程, FastCGI 主进程选择并连接到一个CGI解释器(关联 FastCGI 子进程),然后,Web服务器将CGI环境变量和标准输入发送到 FastCGI 子进程。

    2. FastCGI 子进程完成处理后,将标准输出和错误信息从同一socket连接返回给Web服务器。最后, FastCGI 子进程关闭与Web服务器之间的连接。

    3. FastCGI 子进程继续等待并处理下一个来自Web服务器的连接。

    4. 总结

    由于 FastCGI 程序并不需要不断产生新进程,因此使用 FastCGI 可以大大降低Web服务器的压力并产生较高的应用效率。

    CGI 就是所谓的短生存期应用程序,而 FastCGI 就是所谓的长生存期应用程序, FastCGI 像是一个常驻(long-live)型的 CGI , FastCGI 可以一直执行着,而不会每次花费时间去fork(这也是 CGI 最为人诟病的 fork-and-execute 模式)

    展开全文
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/nginx_limits.conf; if (-f $request_filename) { fastcgi_pass unix:/usr/local/php|PHP1_RELEASE|/sockets/|USER|....
  • fastcgi.zip

    2019-12-28 20:01:04
    fastcgi2.4.1 安装: ./configure make make install 现在官网已经没有了
  • FastCGI

    2011-01-17 15:26:00
    更好的方法 - FastCGI 如果你正饱受 CGI 效率不佳之苦,又不想受限于 NSAPI 及 ISAPI ,也没有大笔银子去买昂贵的 Application Server,我建议你试试看 FastCGI。 不同于 NSAPI 及 ISAPI 以及其它的网页服务器...
  • Fastcgi 原理

    2020-01-06 10:04:58
    1.关于cgi 通用网关接口(CommonGatewayInterface/CGI)描述了客户端和服务器程序之间传输数据的一种标准,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。 CGI独立于任何语言的,CGI程序...
  • fastcgi学习

    2019-11-17 09:21:30
    相对于 CGI/1.1 规范在 Web 服务器在本地 fork 一个子进程执行 CGI 程序,填充 CGI 预定义的环境...FastCGI 的核心则是取缔传统的 fork-and-execute 方式,减少每次启动的巨大开销(后面以 PHP 为例说明),以常驻的...
  • 针对当前网络地理信息系统(WebGIS)中存在的效率问题和服务器端压力过大的问题,提出了基于FastCGI的多进程、分布式集群的WebGIS构建方案。详细介绍了该方案中服务器端地图服务器的体系结构、功能模块、工作流程以及...
  • fastcgi代理

    2019-09-23 02:10:06
    一、fastcgi代理 1、示意图 2、fastcgi 代理配置语法 a、设置PHP服务代理地址 Syntax: fastcgi_pass address; Default: — Context: location, if in location address可以是域名,ip:port ,如: ...
  • 护卫神PHP套件FastCGI版PHP,自动安装配置PHP+MySQL+PhpMyAdmin等Web环境的软件,完全。 护卫神PHP套件FastCGI版PHP安装内容如下: PHP 5.2.17(FastCGI模式,自动防御对外发包) MySQL 5.5.19.0(My
  • 护卫神PHP套件FastCGI版PHP,自动安装配置PHP+MySQL+PhpMyAdmin等Web环境的软件,完全。 护卫神PHP套件FastCGI版PHP安装内容如下: PHP 5.2.17(FastCGI模式,自动防御对外发包) MySQL 5.5.19.0(My

空空如也

1 2 3 4 5 ... 20
收藏数 12,058
精华内容 4,823
关键字:

fastcgi