代码之家  ›  专栏  ›  技术社区  ›  polemon

在nginx中使用FastCGI包装器执行Perl时,我真的获得了速度优势吗?

  •  2
  • polemon  · 技术社区  · 14 年前

    我在用nginx和 this script

    spawn-fcgi -F 3 -u www-data -s /var/run/perl-fcgi.sock -P /var/run/perl-fcgi.pid -- ./perl-fcgi.pl
    

    现在,假设我有一个简单的脚本:

    #!/usr/bin/perl
    
    print "Content-type: text/plain\r\n\r\n";
    print "hello\n";
    

    但是正如您在FastCGI包装器的第106行中所看到的,脚本是用exec()执行的,因此它基本上是在自己的Perl环境中运行的。当我没有一个已经初始化的脚本,但是独立地调用它时,这不是破坏了FastCGI的整个概念吗?

    在nginx上通过FastCGI进行交互的首选方式是什么?

    干杯, --波莱蒙

    附言: spawn-fcgi 是来自lighttpd的程序,它启动FCGI包装器并将它们绑定到套接字。

    1 回复  |  直到 14 年前
        1
  •  4
  •   pilcrow    14 年前

    是的,它破坏了FCGI的整个概念,但是是设计的。

    要“正确”使用FCGI,只需将ngnix指向支持FCGI的脚本。好的方面是,如果ngnix可以与这个FCGI-CGI适配器对话,那么您知道它可以与另一个FCGI脚本对话。具体的服务器配置可能是serverfault的问题。