Nginx服务器如何处理相关的图片

Nginx服务器在进行图片处理的时候有不少的问题需要我们去详细的学习。说到访问权限控制,很多看了Nginx相关文章的朋友都会自然联想到X-Accel-Redirect这个头。这个头有个缺陷,就是所有的访问都会先经过一个fastcgi来判断权限。

成都创新互联是一家集网站建设,忻城企业网站建设,忻城品牌网站建设,网站定制,忻城网站建设报价,网络营销,网络优化,忻城网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

在下载系统上,用这个方法是非常合适的,但是在访问量非常大的图片服务器,单单用这个方法会使大量无需权限判定的图片也经过一个fastcgi处理,多此一举并且无端耗费大量的资源。虽然X-Accel-Redirect是一个新的方案,但是并不代表它能很好的解决所有问题,同时也不妨碍继续思考解决问题的其它办法。图片服务器加上权限判断主要用于博客和相册这样的系统。

在网上稍微观察,可以看到目前大部分的博客相册等系统并没有针对图片本身加入权限判断,而仅仅是将网页部分的权限控制住。这样的话很多网友将其图片加锁,实际上此图片在外部仍有办法打开。我估计此原因有其一是实现起来有性能问题,其二是诸多网站将图片放置到CDN上,而CDN并没有对此有相应的方案的缘故。走了一圈发现只有QQ空间在用带权限的图片,而它看上去是直接用fastcgi实现的,性能居然还不错,佩服一下。下文单纯解决性能问题,其思路是在访问图片附近放置一个控制文件,通过Nginx判断决定是否要到fastcgi认证,其原理类似apache的.htaccess。有用到CDN的,因为CDN多数是squid,要加入清理squid缓存的机制。

1、针对单一图片的控制

如果图片按照哈希结构放置,那么用户的图片加锁后要把每一张图片都加上控制文件,如果该用户图片较多,写入时稍嫌多些。比如有一张图:

 
 
 
  1. /data/image/a/z/asdfqerqwegasd.jpg

写上一个空文件:

 
 
 
  1. /data/image/a/z/asdfqerqwegasd.jpg.lock

然后在Nginx配置判断:

 
 
 
  1. location / {
  2. root /data/image/;
  3. if ( -f "${request_filename}.lock" )
  4. {
  5. #rewrite ^(.*)$ http://www.sudone.com/access.jsp?url=$1 last;
  6. return 403;#test
  7. }
  8. }

以上就是对Nginx服务器在处理图片是的相关问题。

文章题目:Nginx服务器如何处理相关的图片
本文网址:http://www.csdahua.cn/qtweb/news44/514544.html

成都网站优化推广公司_创新互联,为您提供Google营销型网站建设响应式网站微信公众号python建站公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网