如何配置 nginx 的嵌入式 Perl 以使用 Perl 模块?

如何配置 nginx 的嵌入式 Perl 以使用 Perl 模块?

我已将 nginx 配置为使用特定版本的 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

我创建了两个基于嵌入式PerlMinifyJS:MinifyJS.pm 和 MinifyCSS.pm 与 nginx.conf 文件位于同一目录中。在配置文件的 http 部分中,我有以下四行:

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

在我的服务器部分我有以下内容:

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

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

当我启动 nginx 时,我收到有关“perl_require”的错误。

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

那么如何配置 nginx 以使用嵌入式 Perl?

(顺便说一句,“perl_modules”也抛出了未知的指令。)

答案1

我发帖后立即看到了答案。运行时必须添加--with-http_perl_module(可能还有--with-perl_modules_pathconfigure

这是在嵌入式Perl模块在题为“编译时构建模块”的部分中。

相关内容