我应该在Apache下选择哪种FastCGI服务器模式?

时间:2010-02-02 21:31:39

标签: perl apache cgi fastcgi mod-fastcgi

我是FastCGI的新手,希望使用这个平台来加速我现有的vanilla CGI(perl)程序。

然而,在阅读FastCGI/Apache FAQ时,似乎我可以在Apache配置中设置我的脚本(一旦转换为使用单独的初始化/请求部分),就作为以下之一:

1)动态

2)静态“在SetHandler范围内”

3)静态“在AddHandler范围内”

4)静态“在Set / AddHandler范围之外”(或者,我认为,这可以称为'外部')

我对这4个选项感到困惑,我假设“动态”的默认值是我应该使用的,但有人可以解释这些选择的优缺点吗?

1 个答案:

答案 0 :(得分:5)

没有太多担心Add / SetHandlers。它们只是定义哪些扩展名被识别为fcgi脚本的一种方式。

您可能需要考虑的是动态,静态或外部。

  1. Static在apache启动时启动(这可能是最常见的设置)
  2. 每当第一个请求发出时,
  3. Dynamic就会启动(这是默认设置)
  4. External要求fcgi服务器与apache分开运行。 (这是最先进的移民)
  5. 我建议你参考module documentation了解更多信息(至少摘要):

      

    mod_fastcgi下的FastCGI应用程序被定义为以下三种类型之一:静态,动态或外部。它们分别使用FastCgiServer,FastCgiConfig和FastCgiExternalServer指令进行配置。 Apache标识为FastCGI应用程序且未使用FastCgiServer或FastCgiExternalServer指令显式配置的任何URI都作为动态应用程序处理(有关详细信息,请参阅FastCgiConfig指令)。

         

    FastCGI静态和动态应用程序由FastCGI流程管理器fcgi-pm生成和管理。 Apache在服务器初始化时生成进程管理器。假定外部应用程序是独立启动和管理的。

    当然,如果你使用的是Perl,你可以尝试mod_perl,你可以先从using your CGI scripts开始。