Como configuro o Perl incorporado do nginx para usar módulos Perl?

2

Eu configurei o nginx para usar uma versão específica do Perl.

$ sudo /opt/nginx/sbin/nginx -V
nginx version: nginx/0.8.54
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-46)
TLS SNI support disabled
configure arguments: --with-debug --with-http_ssl_module --with-md5=auto/lib/md5 --with-sha1=auto/lib/sha1 --with-perl=/opt/perl/bin/perl --with-http_gzip_static_module --user=apache --group=apache --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --prefix=/opt/nginx

Eu criei dois módulos Perl baseados em EmbeddedPerlMinifyJS : MinifyJS.pm e MinifyCSS.pm que estão no mesmo diretório que o nginx arquivo .conf. Dentro da seção http do arquivo de configuração eu tenho as seguintes quatro linhas:

perl_require JavaScript/Minifier.pm;
perl_require CSS/Minifier.pm;
perl_require MinifyJS.pm;
perl_require MinifyCSS.pm;

Na minha seção do servidor, tenho o seguinte:

location ~ \.js$ {
    perl MinifyJS::handler;
}

location ~ \.css$ {
    perl MinifyCSS::handler;
}

Quando inicio o nginx, recebo um erro sobre "perl_require".

$ sudo /opt/nginx/sbin/nginx
[emerg]: unknown directive "perl_require" in /opt/nginx/conf/nginx.conf:31

Então, como eu configuro o nginx para usar o Perl embutido?

(BTW, "perl_modules" também lança uma diretiva desconhecida.)

    
por Mr. Muskrat 14.03.2011 / 22:31

1 resposta

2

Eu vi a resposta imediatamente após a postagem. Você precisa adicionar --with-http_perl_module (e possivelmente --with-perl_modules_path ) ao executar configure .

Isso foi encontrado em EmbeddedPerlModule na seção intitulada "Building Module at Compile-time".

    
por 14.03.2011 / 22:34

Tags