成功将博客所有附件转移到远程服务器~~ » 荒野无灯weblog

Keep It Simple, Stupid.

荒野无灯weblog

成功将博客所有附件转移到远程服务器~~

PS:现在我博客的图片就是在远程服务器上的.


我的附件(基本上全部是图片)共300多MB,要通过FTP传到国外服务器在国内确实不容易,这个问题也是蓝冰帮助搞定的。直接被他wget秒杀了,然后mv一下,因此,此次转移附件没花多少时间。修改域名A记录也是几秒钟就生效。下载备份文件到本地也相当的快。不得不说,衡天主机的速度和稳定性还是非常给力的,我用他们的主机也有近两年了,一直非常稳定。
下载博客备份数据中:


昨天把插件发布出来了,没有怎么介绍使用,今天结合我博客的实例正好说一下这个事情,供大家参考。

安装Hacklog Remote Attachment插件。
首先,不用我说啦,备份网站的数据(文件+数据库).
然后,把wp-content/uploads目录及入下面的所有文件全部传到远程FTP服务器上去。

然后,到wp后台”Hacklog远程附件” 配置插件,要填写的内容包括:
ftp用户名、密码、端口、远程base URL、远程路径(即子目录)
这里解释下远程base URL,这个URL即访问你的FTP根目录的URL (http协议的),如 http://static.ihacklog.com/
然后是路径了,也就是你要远程FTP服务器的哪个目录下面放置wordpress的附件,这个目录其实是相当于wordpress的wp-content目录下面的uploads目录了,只是这里的目录名你可以随便取,我这里用的是wp-files
如图:

好了,现在你可以删除原来uploads目录下面的所有文件了,给一张我删除时的图吧(其实可以到cpanel直接一键给X的了啦,这里我为了要截图,用FTP删):

最后,更新数据库。由于现在博客日志中的图片和附件链接都是指向原来的URL的,因此,得更新一下。这个可以用Hacklog Remote Attachment后台的Tools搞定,也可以自己进phpmyadmin,然后执行:

UPDATE  `wp_posts` set post_content=replace(post_content,'ihacklog.com/wordpress/wp-content/uploads/','static.ihacklog.com/wp-files/');
UPDATE  `wp_posts` set post_content=replace(post_content,'www.ihacklog.com/wordpress/wp-content/uploads/','static.ihacklog.com/wp-files/');

注意,这里wp_posts是日志表名,如果你更新了前缀,请用自己的表名。www.ihacklog.com/wordpress/wp-content/uploads/ 是原来的URL中的一部分,static.ihacklog.com/wp-files/ 是新的URL,这些理解起来应该都很容易,不过在做这个操作前最好确保你已经做了第一步:备份。

OK,现在完工了。你可以在后台像平常一样上传附件、图片什么的,删除也一样。唯一不同的是你的附件是保存在了远程服务器上了。
以前你怎么上传图片,现在还是怎么上传:


注意事项:

1.远程ftp的上传目录需要有“写”权限
2.本地服务器的wp-content/uploads目录请勿删除,此目录在生成图片的缩略图时要用到,生成的残留文件不必手动删除,插件自会在一小时后删除之。
3.wp后台的“媒体”选项中的上传目录选项请保持和你原来一样,不要在迁移后随便修改这些。总之,这个选项按你原来博客是哪样,现在还是哪样,这样就行了。
4.FTP空间最好与你的本地服务器在同一地域,这样上传起来速度更快。

Tagged in : 附件转移

All Comments (0)
Gravatar image
No Comments