如何使用IIS 7.5配置Perl/FCGI(FastCGI)?

Lum*_*umi 11 iis perl fastcgi iis-7.5

我正在尝试使用IIS 7.5运行Perl/FastCGI(FCGI).版本C:\Windows\System32\inetsrv\iisfcgi.dll7.5.7601.17514.这是我web.config和我的Perl脚本:

D:\MiLu\Dev :: more /t1 web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
  <directoryBrowse enabled="true" />
  <handlers>
   <add name="FCGI" path="*.pl" verb="*"
    modules="FastCgiModule"
    scriptProcessor="C:\Opt\Cygwin\bin\perl.exe"
    resourceType="Unspecified" requireAccess="Script" />
  </handlers>
 </system.webServer>
</configuration>

D:\MiLu\Dev :: more /t4 Perl\fcgi\count.pl
use strict;
use warnings;
use FCGI;

my $count = 0;
my $request = FCGI::Request();

while ( $request->Accept >= 0 ) {
    print "Content-type: text/html\r\n\r\n", ++$count;
}
Run Code Online (Sandbox Code Playgroud)

所有我得到的是一个带有IIS通用错误页面的500,说明"FastCGI进程意外退出"并列出了可能的错误原因.

脚本从命令行运行正常,打印其三行然后立即退出,表明脚本和模块安装正常.(顺便说一下,我从FCGI手册中复制了它,所以应该没问题.)

D:\MiLu\Dev :: C:\Opt\Cygwin\bin\perl.exe Perl\fcgi\count.pl
Content-type: text/html

1
Run Code Online (Sandbox Code Playgroud)

有一个FCGI::IIS module,但是,它仅出现在IIS 5.1和6.0已经奏效.

事实上,IIS有一个专用的FCGI模块,这表明IIS 5.1和6.0提供了自己的非标准FCGI实现.那么如果这是真的,那么IIS 7.5呢?相当多的不确定因素.

作者FCGI::IIS 似乎试图使他的模块与IIS 7.0一起工作(让Perl使用FastCGI-2007在IIS7上工作),但放弃了.

我在哪里可以找到更具体的错误是什么?有日志文件吗?我应该在Windows事件查看器(eventvwr)中寻找什么?

我错过了IIS的神奇咒语吗?

这个组合的信息不多.但它最终可能会奏效.这里有一个FastCGI应用程序配置参考页面,有人让Catalyst在IIS 7.0(MS Windows 2008/Vista上的Catalyst + IIS 7.0)上使用FastCGI.

Rao*_*oul 2

我已经有一段时间没有这样做了,而且从来没有使用过 Cygwin。为了测试这一点,您可以下载并安装适合您的体系结构的最新活动状态 perl,并尝试按如下方式安装/配置:

http://legacy.websitepanel.net/kb/installing-and-running-active-perl-runtime-as-isapi-on-microsoft-iis-7.0

另一个参考:

http://blogs.iis.net/wadeh/archive/2009/04/13/running-perl-on-iis-7.aspx

祝你好运。