首页 > 网站 > CMS建站 > 正文

dedecms图片和文章分离存放在另一个服务器实现分流

2020-04-16 21:12:03
字体:
来源:转载
供稿:网友
因为武林网相当于一个教程网站,而每一篇文章都尽可能多的用图片为大家讲解,这样就造成网站上的图片太多,一到夜间高峰时段网站打开就很慢,为了解决这个问题于是想到了把图片和文章进行分离,把图片存放在另一个服务器上,这样就不会影响文章的打开速度了。研究了半天终于成功特把成果和大家分享一下,如果转载的话请注明出处,谢谢。

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

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

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

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

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

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

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

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

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

替换好后生成以下所有文档,看看是不是成功了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表