Nginx 独立图片服务器的搭建

  • 为何须要独立图片服务器?

       若是你留心的话,能够发现,如今主流的网站都是有单独的图片服务器的,例如,人人网的为rrimg,淘宝的为taobaocdn,下面还有不少的二级域名。html

       独立的图片服务器有诸多好处,其中一个就是客户端浏览器对一个主机下的链接数量限制,具体的链接数目忘记了,但基本都在10如下。也就是说,浏览器会控制一个站点下的并发请求数量在10如下,若是对于网站有不少样式文件、脚本文件和图片须要加载的话,请求的过程会被阻塞,影响网站的打开速度。  java

       创建图片服务器,将图片资源放在另一个域名下面,会在必定程度上提高网站的打开速度,这样来讲的话是否是说咱们独立的服务器越多越好呢?也不尽然,解析域名并创建链接也须要很长的时间,独立的主机多了的话,也不利于速度的提高。linux

       图片每每会消耗掉网站中的不少宽带和IO资源,独立的图片服务器能够在宽带和IO性能上单独提高,便于管理和拓展。nginx

       关于网站性能方面的经验有不少,最为著名的就是雅虎的14条准则web

 

  • 搭建独立图片服务器的思路是什么?

        图片服务器的搭建思路也不难,我大概画了一个图,显示的是我最近两天搭建图片服务器的思路。apache

 

网站服务器是Apache + Tomcat, 之前图片的资源所有在tomcat的工程目录下面,随着图片数量的增多,对于图片的管理很不方便,网站的打开速度也不理想。        新的图片服务器用Nginx做为web server,这里有一篇文章分析了lighttpd、apache和nginx的性能,仍是值得一看的。        面临的一个问题就是用户上传图片的问题,由于上传的逻辑仍是在原来的服务器上,所以,怎么同步两个服务器上的图片是个须要解决的问题。        每每网站须要一张图片的多个尺寸来知足不一样的需求,咱们也是不例外的,因此,我想到了将用户上传的源图片保存在网站服务器上,经过源图片来生成不一样尺寸的图片经过ftp的方式保存到图片服务器上,源图片也至关于作了一个备份。        java 操做ftp十分方便,这也是我选择用ftp的方式来同步图片的缘由。        因此,须要在图片服务器上搭建ftp服务,这个教程有不少,再也不罗嗦。不过我想提的一点是,red hat企业版有selinux,貌似是个安全机制,须要关掉这个才能上传。                图片服务器上面搭建了tomcat容器的缘由是网站须要的图片尺寸有将近20种,没有办法保存每一个缩略图,所以用java来实现动态缩放图片的功能,就是相似于 190_h100_w200.jpg 这种格式,长宽随便换。具体的实现方法,有空再写吧。        由于动态生成图片比较耗费资源,所以用在较少访问的页面上,减小了缩略图的个数。浏览器

相关文章
相关标签/搜索