本模块允许在Nginx中直接执行Prel,或者通过SSI调用Perl。
默认是不会编译进Nginx的,如果你要使用,则要在编译安装Nginx指定:
./configure --with-http_perl_module
另外:操作系统中必须安装:Perl5.6.1以上版本
已知问题:
1 ) 如果Perl模块执行长时间操作,例如:DNS查询、数据库查询等,运行Perl脚本的工作进程将一直处于阻塞状态,因此内置的Perl脚本应该非常简单,执行尽可能快。
2)Nginx在通过“Kill -HUP <pid>”命令重新加载配置文件时,可能会导致内存泄露。
详细配置方法:
1.增加一个方法
perl_set $url ‘ sub { my $r = shift; my $re = lc($r->uri); return $re; } ‘;
2.增加一个判断条件
if ($uri ~ [A-Z]){ rewrite ^(.*)$ $url last; }
说明:
Perl需要Perl 5.6.1以上版本支持.
以下为一个线上的实例:
cat site/www.test.net.conf perl_set $url ‘ sub { my $r = shift; my $re = lc($r->uri); return $re; } ‘; server { listen 80; server_name www.test.net; index index.html index.htm ; root /www/test/www.test.net/web20_static; if ($uri ~ [A-Z]){ rewrite ^(.*)$ $url last; } location ~*\.(gif|jpg|jpeg|png|bmp|swf|ico|html|htm)$ { expires 10d; } location ~*\.(js|css)?$ { expires 5d; } error_page 404 = /404.htm; access_log /usr/local/nginx/logs/access.log main; access_log off; }
时间: 2024-07-28 23:00:35