nginx perl 不工作

nginx perl 不工作

我让 NGINX 与 PHP FPM 顺利协作。

我正在尝试添加一些 Perl 页面。我的默认站点配置中有这些内容;

    location ~ \.pl$ {
            gzip off;
            include fastcgi_params;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.pl;
            fastcgi_param SCRIPT_FILENAME /usr/share/nginx/www/$fastcgi_script_name;
    }

在我的浏览器中浏览 perl 页面(下面的示例)只会显示源代码。就好像代码没有传递给 FPM,或者没有执行代码而只是将其传回。

我不知道该怎么办;我不确定如何解决此问题。NGINX error.log 或 php5-fpm.log 中没有任何内容。

测试.pl;

#!/usr/bin/perl

print "Content-type:text/html\n\n";
print <<EndOfHTML;
<html><head><title>Perl Environment Variables</title></head>
<body>
<h1>Perl Environment Variables</h1>
EndOfHTML

foreach $key (sort(keys %ENV)) {
    print "$key = $ENV{$key}<br>\n";
}

print "</body></html>";

答案1

这为什么可行?PHP-FPM 只能处理 PHP,呵呵!

但是我希望将 Perl 脚本传递给 FPM,然后 FPM 会将它们传递给 perl。我发现这个页面(下面的链接)回答了我的问题并很好地澄清了问题。

为什么要将 Perl 脚本传递给 FPM,然后再传递给 Perl,而您可以使用包装器直接将其传递给 Perl!:D

http://wiki.nginx.org/SimpleCGI

相关内容