Nginx 独立图片服务器的搭建
- 为什么需要独立图片服务器?
如果你留心的话,可以发现,现在主流的网站都是有单独的图片服务器的,例如,人人网的为rrimg,淘宝的为taobaocdn,下面还有很多的二级域名。
独立的图片服务器有诸多好处,其中一个就是客户端浏览器对一个主机下的连接数量限制,具体的连接数目忘记了,但基本都在10以下。也就是说,浏览器会控 制一个站点下的并发请求数量在10以下,如果对于网站有很多样式文件、脚本文件和图片需要加载的话,请求的过程会被阻塞,影响网站的打开速度。
建立图片服务器,将图片资源放在另外一个域名下面,会在一定程度上提升网站的打开速度,这样来说的话是不是说我们独立的服务器越多越好呢?也不尽然,解析域名并建立连接也需要很长的时间,独立的主机多了的话,也不利于速度的提升。
图片往往会消耗掉网站中的很多宽带和IO资源,独立的图片服务器可以在宽带和IO性能上单独提升,便于管理和拓展。
关于网站性能方面的经验有很多,最为著名的就是雅虎的14条准则。
- 搭建独立图片服务器的思路是什么?
图片服务器的搭建思路也不难,我大概画了一个图,显示的是我最近两天搭建图片服务器的思路。

网站服务器是Apache + Tomcat, 以前图片的资源全部在tomcat的工程目录下面,随着图片数量的增多,对于图片的管理很不方便,网站的打开速度也不理想。
新的图片服务器用Nginx作为web server,这里有一篇文章分析了lighttpd、apache和nginx的性能,还是值得一看的。
面临的一个问题就是用户上传图片的问题,因为上传的逻辑还是在原来的服务器上,因此,怎么同步两个服务器上的图片是个需要解决的问题。
往往网站需要一张图片的多个尺寸来满足不同的需求,我们也是不例外的,所以,我想到了将用户上传的源图片保存在网站服务器上,通过源图片来生成不同尺寸的图片通过ftp的方式保存到图片服务器上,源图片也相当于做了一个备份。
java 操作ftp十分方便,这也是我选择用ftp的方式来同步图片的原因。
所以,需要在图片服务器上搭建ftp服务,这个教程有很多,不再罗嗦。不过我想提的一点是,red hat企业版有selinux,貌似是个安全机制,需要关掉这个才能上传。
图片服务器上面搭建了tomcat容器的原因是网站需要的图片尺寸有将近20种,没有办法保存每个缩略图,因此用java来实现动态缩放图片的功能,就是类似于 190_h100_w200.jpg 这种格式,长宽随便换。具体的实现方法,有空再写吧。
因为动态生成图片比较耗费资源,因此用在较少访问的页面上,减少了缩略图的个数。
Nginx 独立图片服务器的搭建的更多相关文章
- nginx配置图片服务器
这几天研究了一下nginx配置图片服务器的相关内容,个人的一些收获与大家分享一下: Nginx是目前非常流行的web服务器,它起源于俄罗斯.它具有处理速度快,并发量大,占用资源极低等优点,尤其对于静态 ...
- 【图片服务器】搭建Nginx图片服务器
一.安装Nginx 二.安装vsftpd 三.开始搭建Nginx图片服务器 1.效果 例如:图片通过ftp服务上传到/home/ftpuser/www/images目录下,我想通过访问Nginx服务器 ...
- windows版nginx+ftp实现图片服务器的搭建
配置图片服务器的一部分参数 resource.properties: #FTP\u76f8\u5173\u914d\u7f6e #FTP\u7684ip\u5730\u5740 FTP_ADDRESS ...
- 分享知识-快乐自己:FastDFS 图片服务器的搭建
使用一台虚拟机来模拟,只有一个Tracker.一个Storage服务,配置nginx访问图片. 1):安装依赖包 yum -y install zlib zlib-devel pcre pcre-de ...
- 配置nginx的图片服务器
user nginx; worker_processes 8; error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; pid ...
- Nginx作为HTTP服务器--Nginx配置图片服务器
首先安装nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. --> gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖 ...
- Nginx 安装--图片服务器搭建
1. nginx 需要依赖以下模块: gzip模块需要 zlib 库 rewrite模块需要 pcre 库 ssl 功能需要openssl库 1.1.安装pcre 1. 获取pcre ...
- NGINX+PHP+MYSQL服务器环境搭建
这条命令是配置vim的,请确保你能访问github wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh 说明有一些小问题, ...
- 使用Nginx做图片服务器时候,配置之后图片访问一直是 404问题解决
我的错误配置是: 服务器文件根地址: 想通过浏览器输入这个地址访问到图片: 但是会发现文件找不到会一直404,原因是根路径配置错误,来看下root路径原理: root 配置的意思是,会在root配置的 ...
随机推荐
- Android应用开发学习之表格视图
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 本文我们来学习一个使用表格视图的程序,下图是该程序的运行效果: 该程序主Activity文件内容如下: packag ...
- AX2012服务器配置--Windows Server 2012 如何实现多个用户远程桌面登陆?
Windows Server 2012 如何实现多个用户远程桌面登陆?说明:Windows Server 2012默认情况下,只运行2个用户远程桌面登陆,这里我们可以通过安装远程桌面会话主机配置来实现 ...
- CodeForces - 269C Flawed Flow
http://codeforces.com/problemset/problem/269/C 题目大意: 给定一个边没有定向的无法增广的残量网络且1是源点,n是汇点,给定每条边中的流. 让你把所有边 ...
- 【转】Android 混淆代码总结
http://blog.csdn.net/lovexjyong/article/details/24652085 为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的 ...
- JAVA-应用easyui
easyui下载地址:http://www.jeasyui.com/index.php 现在还easyui之后将其解压,解压之后将文件夹中的文件除了demo文件夹之外的文件放入到Eclipse的web ...
- c的基础 1. 无符号数和补码
计算机中储存和处理的信息是以二进制信号表示的.单个的位不是是很实用,而将这些位 组合在一起,加上某种解释,即给不同的可能位模式赋予含义,我们就行表示怎样有限集合的元素,即实现各种数据结构.计算机中使用 ...
- VC printf输出彩色字体
在VC下使用SetConsoleTextAttribute()函数可以改变当前控制台的前景色和背景色,从而达到输出彩色字体的效果. 使用的方法也很简单,具体代码如下: #include <win ...
- hadoop错误org.apache.hadoop.mapred.TaskAttemptListenerImpl Progress of TaskAttempt
错误: org.apache.hadoop.mapred.TaskAttemptListenerImpl: Progress of TaskAttempt 原因: 错误很明显,磁盘空间不足,但郁闷的是 ...
- Hibernate 配置派生属性
在持久化类中,有些属性在表中没有对应的字段,可以在映射文件中设置派生属性. 比如在一个订单中有多个商品的价格,但没有计算总的价格,可以在持久化类中增添一个统计总价格的属性,在映射文件中配置一些信息. ...
- Hadoop 2.6.3运行自带WordCount程序笔记
运行平台:Hadoop 2.6.3 模式:完全分布模式 1.准备统计文本,以一段文字为例:eg.txt The Project Gutenberg EBook of War and Peace, by ...