fastdfs nginx 生成缩略图

zongyuewang 2019-03-01

nginx搭配fastdfs生成实时缩略图,并加水印

1,需要image_filter模块

2,添加反向代理的upstream模块

3,配置适配fastdfs访问的group正则表达式

4,增加_P1.jpg这种放置刷新方式

5,调试的时候,如果出现莫名奇妙的错误,请试试将location放置到server中的第一处 

6,这种生成缩略图采用nginx自带模块,采用GD压缩,也可以使用GM模块,这种需要使用nginx支持lua模块,然后自己写lua表达式

location配置

location ~* /group(\d+)\/M00\/(\w+)\/(\w+)/(.+)\.(jpg|png|jpeg|bmp|tiff|gif|tif|PNG|JPG|JPEG|BMP|TIFF|GIF|TIF)\_P1\.(jpg|png|jpeg|bmp|tiff|gif|tif|PNG|JPG|JPEG|BMP|TIFF|GIF|TIF)$ {
		proxy_next_upstream http_502 http_504 error timeout invalid_header;
		proxy_cache http-cache;
		proxy_cache_valid 200 304 12h;
		proxy_cache_key $uri$is_args$args;
		proxy_pass http://fdfs_group$1;
		expires 7d;

		#ngx_fastdfs_module;
      		#set $w $6;
		#set $h $7;
		rewrite  /group(\d+)\/M00\/(\w+)\/(\w+)/(.+)\.(jpg|png|jpeg|bmp|tiff|gif|tif|PNG|JPG|JPEG|BMP|TIFF|GIF|TIF)\_P1\.(jpg|png|jpeg|bmp|tiff|gif|tif|PNG|JPG|JPEG|BMP|TIFF|GIF|TIF)$   /group$1/M00/$2/$3/$4.$5  break;
	        
	      #  image_filter resize $w $h;
            	image_filter_buffer 20M;
            	image_filter_interlace on;
            	image_filter_jpeg_quality 95;
            	image_filter watermark;
            	image_filter_watermark_width_from 50;
            	image_filter_watermark_height_from 50;
            	image_filter_watermark "/home/image/water/c.png";
                image_filter_watermark_position center-center;
            	
		image_filter resize 238 193;
		}

 upstream 配置

upstream fdfs_group1 {
	server 10.192.168.0.1:8888 weight=1 max_fails=2 fail_timeout=30s;
	}

相关推荐