| 
      1.需要Embedded Perl模块支持
 
	  本模块允许在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以上版本支持 
	
		整个配置文件如下: 
	
		----------------------------------------------------------------------- 
	
			#user  nobody; 
		
			worker_processes  1; 
		
			#error_log  logs/error.log; 
		
			#error_log  logs/error.log  notice; 
		
			#error_log  logs/error.log  info; 
		
			#pid        logs/nginx.pid; 
		
			events { 
		
			    worker_connections  1024; 
		
			} 
		
			http { 
		
			    include       mime.types; 
		
			    default_type  application/octet-stream; 
		
			    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' 
		
			    #                  '$status $body_bytes_sent "$http_referer" ' 
		
			    #                  '"$http_user_agent" "$http_x_forwarded_for"'; 
		
			    #access_log  logs/access.log  main; 
		
			    sendfile        on; 
		
			    tcp_nopush     on; 
		
			    #gzip  on; 
		
			    perl_set $url ' 
		
			        sub { 
		
			                my $r = shift; 
		
			                my $re = lc($r->uri); 
		
			                return $re; 
		
			        } 
		
			    '; 
		
			    server { 
		
			        listen       80; 
		
			        server_name  localhost; 
		
			        if ($uri ~ [A-Z]){ 
		
			                rewrite ^(.*)$ $url last; 
		
			        } 
		
			        location / { 
		
			            root   html; 
		
			            index  index.html index.htm; 
		
			        } 
		
			        error_page   500 502 503 504  /50x.html; 
		
			        location = /50x.html { 
		
			            root   html; 
		
			        } 
		
			        include       xx.cn/xx.conf; 
		
			    } 
		
			} 
	(责任编辑:IT)  | 
    
