我已将 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_path
)configure
。
这是在嵌入式Perl模块在题为“编译时构建模块”的部分中。