喜欢本站请 收藏我们 或点击:
您好,欢迎光临DedeCMS多模板!登录 注册
帮助中心 咨询热线:186 0234 2709

DedeCMS帮助中心

织梦程序图片和文章分离存放在另一个服务器方
本站承接DedeCMS仿站服务,大家如有需要请联系QQ:121673232
本站所有商业模板均提供使用详细安装说明(含视频)
小编有个网站因为图片比较多,当图片比较多的时候,一到夜间高峰时段网站打开就很慢,为了解决这个问题于是想到了把图片和文章进行分离,把图片存放在另一个服务器上,这样就不会影响文章的打开速度了。研究了半天终于成功特把成果和大家分享一下,如果转载的话请注明出处,谢谢。

分离的方法有好几种方法,这里讲的是比较简单的方法,后期虽然还要经常使用数据库替换功能,但是也很容易,只要几秒钟就搞定了,更重要的是这个方法能够把以前文章的图片也存放在远端,后面我也会讲讲系统自带的服务器分布/远程设置

重要:使用本教程前一定要备份数据,因为我中间出错过,幸好网站备份了

我们的思路是:1、在远程服务器同步网站的附件和图片 2、批量替换网站图片的地址路径 3、生成所有文档 4、定期同步网站然后替换数据库

首先我们需要在服务器(网站所在的服务器)上配置好ftp,可以下载一个:FileZilla Server Interface,记住是server版本而且要兼容你的服务器版本,因为有的不能在windows2003下使用。

点击FileZilla 上面的一个小人,然后在常规中添加一个用户并为他设置密码,然后点击共享文件夹来设置需要共享的文件,目录选择网站下的uploads目录,因为图片和附件都存放在这里,当然需要注意文件的权限。

本地服务器设置好后就需要在远程服务器设置了,进入远程服务器后配置一个网站设置二级域名为img.win7sky.com,为了方便我们在这个网站的目录下设置一个uploads文件夹
比如我以前的地址是:http://win7sky.com/uploads/allimg/141024/1-141024101G6357-lp.gif,新地址就为:http://img.win7sky.com/uploads/allimg/141024/1-141024101G6357-lp.gif
所以文件夹最好弄成一样
然后下载一个网站同步软件:websynchronizer,下载完成后点击view---->language选择chinese就能变成汉语

接下来根据向导进行操作即可,需要注意的是:第一文件夹和第二文件夹的文件操作不能搞错,一开始我弄错了,结果把网站上的图片都删掉了,所以网站备份很重要。
一旦发现提示大量的文件被删除就要暂停操作,看看设置是不是有问题。

接下来就需要在后台进行数据库替换了,点击系统,找到SQL命令行工具,一开始替换的时候总是不能成功,因为我替换的语句是:
update dede_addonarticle set body=replace(body,'http://win7sky.com/uploads/allimg/','http://img.win7sky.com/uploads/allimg/')
这样根本不行,因为数据库中图片的路径是相对路径,没有网站网址,所以替换不成功,可以通过phpmyadmin看一下

正确的语法是下面的:第一条替换文章图片的路径,第二条替换缩略图的路径,把我的网站换成你的就行了
update dede_addonarticle set body=replace(body,'/uploads/allimg/','http://img.win7sky.com/uploads/allimg/');
update dede_archives set litpic=replace(litpic,'/uploads/allimg/','http://img.win7sky.com/uploads/allimg/');

替换好后然后在生成下所有文档,在看下是不是已经成功替换了。