使用独立的Perl FastCGI / FCGI Web服务器在Perl中测试FastCGI脚本

时间:2010-06-07 09:12:48

标签: perl testing webserver fastcgi

我有一个FastCGI Perl网络应用程序(使用CGI::Fast编写,但这无关紧要),我想在FastCGI模式下测试

我可以使用什么Perl模块来运行FastCGI应用程序(该模块应该从CPAN安装,如果它不使用额外的库,则最好),这样我可以指向Web浏览器,例如到http://localhost:5000检查它是否正常工作?

更好的是,是否有一些Test :: *模块允许自动测试FastCGI应用程序,如FastCGI应用程序?


已添加06-07-2010:
看起来Perl中没有独立的FastCGI服务器;或者至少我没有找到一个。我发现的CPAN上的FCGI / FastCGI相关模块是关于编写FastCGI应用程序或连接到现有的FastCGI服务器。

1 个答案:

答案 0 :(得分:3)

我不知道哪个模块允许您专门测试快速CGI应用程序。要在开发过程中运行快速CGI脚本进行测试,我通常会设置一个像这样的小型lighttpd服务器:

$HTTP["url"] =~ "^/[^/]*$" {
    fastcgi.server = (
        "/" => ((
            "socket" => "/tmp/myapp.sock",
            "bin-path" => "/path/to/my/fastcgi/script.pl",
            "check-local" => "disable",
            "allow-x-send-file" => "enable",
        )),
    )
}

# Use this if you also want to serve static files directly (not through your CGI app).
$HTTP["url"] =~ "^/static/.*$" {
    url.rewrite-once = ( "^/static/\(.*\)$" => "static/$1" )
}

您可能还希望将端口设置为5000或高于1024的任何值,以便您可以以用户身份运行它。将文件保存在项目目录中并运行lighttpd,如下所示:

/usr/sbin/lighttpd -f lighttpd.conf -D