帝国cms配合七牛云实现图片外链

网站每次打开文字加载速度都很快,而图片加载速度却不尽人意。网上找了篇文章照着操作一遍后明显感觉速度有大幅度提升!

第一步:去七牛增加一个对象存储,并添加一个需要加速的域名

《帝国cms配合七牛云实现图片外链》

第二步:添加完成审核通过后去给域名添加一个CNAME解析记录,地址指向到七牛给出的地址

《帝国cms配合七牛云实现图片外链》

《帝国cms配合七牛云实现图片外链》

第三步:去后台修改图片附件上传地址

《帝国cms配合七牛云实现图片外链》

第四步:去替换掉数据库中旧文章中的附件地址,newstext 和 titlepic 字段都需要替换,如果你还有其它需要替换的字段需要自己手工去数据库中替换,

比如我给每个类目都添加了图片,现在在后台不能对类目图片进行替换操作。所以我去后台手工给 **_enewsclass 数据库 的classimg字段进行替换.  sql代码:

update **_enewsclass set classimg=REPLACE (classimg,‘/d/file/’,’http://img.abc.com/’)  

在进行数据库相关操作前务必备份整个数据库!

《帝国cms配合七牛云实现图片外链》第五步:将本地图片批量上传到七牛,推荐使用工具:qrsbox ,这个软件也有linux版本的,自行去官网寻找

《帝国cms配合七牛云实现图片外链》

注意,同源目录要是绝对路径,不得有误.

上传后,原来图片的地址:http://www.abc.com/d/file/p/16541asdf.jpg 就变成了 http://img.abc.com/p/16541asdf.jpg

第六步:利用七牛回源功能不改去帝国让图片自动上传到七牛

首先,去七牛绑定一个镜像存储,将镜像源设置成:http://img2.abc.com/

下面的robots.txt一定要勾上!

《帝国cms配合七牛云实现图片外链》

然后增加一个A记录将 img2.abc.com解析到你的服务器

《帝国cms配合七牛云实现图片外链》

最后在服务器上添加相应的解析目录,把 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 链接,让你的链接看起来像是站内的。

而且我一直以为使用七牛的步骤是:

附件上传到七牛—>得到地址—>外链

这样的好处是节省服务器的空间,所有附件都上传到七牛. 坏处是哪天不想用七牛了图片迁移很麻烦. 万一七牛倒闭了,网站所有附件也都没了

这次网站的调整是利用的七牛回源的功能:

附件上传到网站—>访问七牛附件地址—>七牛检测到对象存储中没有相应附件—>七牛自动到源站获取图片并转存到七牛—>返回外链地址

这样的好处是每次上传图片在本地有个备份,线上访问地址是七牛的,速度快.  就算哪天不用七牛了,可以快速切换到本地附件地址.

缺点是第一次访问的时候七牛有个转存的操作,速度会慢一点。第二个缺点是占用服务器空间,不过对于我这种小站来说并不是什么大问题。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注