使用nginx和Perl FastCGI读取POST数据

时间:2013-05-28 00:02:30

标签: perl nginx fastcgi

我正在建立一个使用nginx的网站,需要让它运行一些perl程序,所以我安装了FastCGI并完成了所有设置。我将此添加到我的网站配置中:

location ~ \.pl$ {
    gzip off;
    include /etc/nginx/fastcgi_params;
    fastcgi_pass unix:/var/run/fcgiwrap.socket;
    fastcgi_index index.pl;
    fastcgi_param SCRIPT_FILENAME /[...]/www$fastcgi_script_name;
    fastcgi_param QUERY_STRING     $query_string;
}
然后我写了一个test.pl程序:

#!/usr/bin/perl
print "Content-type:text/html\n\n";
print "Body here ";
print $#ARGV;

我的结果是“Body here -1”。所以perl程序正确运行。现在我唯一的问题是,对于我的生活,我找不到如何读取POST数据。如果这很棘手,我也无法找到如何读取GET URL参数。对我来说,这两个都足够了。

1 个答案:

答案 0 :(得分:1)

这比看起来简单得多。下面是我使用的perl脚本。

#!/usr/bin/perl 
use CGI;

print "Content-type:text/html\n\n";

my $q = CGI->new;
print "Your name is";
print $q->param("name");

就是这样。它根本不是特定于nginx的。