网站每次打开文字加载速度都很快,而图片加载速度却不尽人意。网上找了篇文章照着操作一遍后明显感觉速度有大幅度提升!
第一步:去七牛增加一个对象存储,并添加一个需要加速的域名
第二步:添加完成审核通过后去给域名添加一个CNAME解析记录,地址指向到七牛给出的地址
第三步:去后台修改图片附件上传地址
第四步:去替换掉数据库中旧文章中的附件地址,newstext 和 titlepic 字段都需要替换,如果你还有其它需要替换的字段需要自己手工去数据库中替换,
比如我给每个类目都添加了图片,现在在后台不能对类目图片进行替换操作。所以我去后台手工给 **_enewsclass 数据库 的classimg字段进行替换. sql代码:
update **_enewsclass set classimg=REPLACE (classimg,‘/d/file/’,’http://img.abc.com/’)
在进行数据库相关操作前务必备份整个数据库!
第五步:将本地图片批量上传到七牛,推荐使用工具:qrsbox ,这个软件也有linux版本的,自行去官网寻找
注意,同源目录要是绝对路径,不得有误.
上传后,原来图片的地址:http://www.abc.com/d/file/p/16541asdf.jpg 就变成了 http://img.abc.com/p/16541asdf.jpg
第六步:利用七牛回源功能不改去帝国让图片自动上传到七牛
首先,去七牛绑定一个镜像存储,将镜像源设置成:http://img2.abc.com/
下面的robots.txt一定要勾上!
然后增加一个A记录将 img2.abc.com解析到你的服务器
最后在服务器上添加相应的解析目录,把 img2.abc.com 解析到 网站/d/file
我用的是Apache,简单写下配置:
<VirtualHost *:80>
DocumentRoot “D:/wamp/www/abc/d/file”
ServerName img2.abc.com
</VirtualHost>
如果是用iis的同理添加一个解析
这样一来就全部操作完成了,重新生成下网站html可以看到里面旧文章中的图片都已经换成 http://img.abc.com 域名下了
以后上传的新图片也会在 http://img.abc.com 下显示,
最后在/d/file/下的每个文件夹下建立一个空白的index.html,避免让人列出整个附件文件夹的目录!
总结一下:
以前我觉得七牛最大的作用就是图片外链,就是类似百度网盘的功能,上传一张图片并外链显示
经过这一次操作发现不光能外链,还会给你一个 CNAME 链接,让你的链接看起来像是站内的。
而且我一直以为使用七牛的步骤是:
附件上传到七牛—>得到地址—>外链
这样的好处是节省服务器的空间,所有附件都上传到七牛. 坏处是哪天不想用七牛了图片迁移很麻烦. 万一七牛倒闭了,网站所有附件也都没了
这次网站的调整是利用的七牛回源的功能:
附件上传到网站—>访问七牛附件地址—>七牛检测到对象存储中没有相应附件—>七牛自动到源站获取图片并转存到七牛—>返回外链地址
这样的好处是每次上传图片在本地有个备份,线上访问地址是七牛的,速度快. 就算哪天不用七牛了,可以快速切换到本地附件地址.
缺点是第一次访问的时候七牛有个转存的操作,速度会慢一点。第二个缺点是占用服务器空间,不过对于我这种小站来说并不是什么大问题。