En mi Mac OSX 10.7.4 con Perlbrew "s Perl-5.16.0 tengo esto nginx.conf:
server {
listen 1234;
server_name MyPHPPerlServer;
root "/Library/WebServer/servdir";
location / {
fancyindex on;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ .pl$ {
try_files $uri =404;
gzip off;
#fastcgi_pass 127.0.0.1:8999;
fastcgi_index index.pl;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Para que esta configuración ejecute los scripts PHP, compilé y ejecuté php-fpm
, y ejecuta PHP bien ahora.
Para ejecutar los scripts de Perl, compilé nginx con
./configure --add-module=../ngx-fancyindex --with-http_perl_module
y nginx funciona bien con esta configuración, pero cuando busco http://localhost:1234/index.pl
no ejecuta el script Perl, solo lo descarga.
Como comprobación, apago el nginx y comienzo Apache con el cgi_module encendido y ejecuta el index.pl perfectamente.
¿Qué debo hacer para que nginx ejecute los scripts de Perl? Gracias.
Respuestas
1 para la respuesta № 1Las secuencias de comandos se envían al navegador porque esa es la manera predeterminada en la que se manejan los archivos de solicitud, y usted no anula esto (digamos usando fastcgi_pass
) Por favor siga el instrucciones.