搬家折腾
终于搬迁完成.路途上走了不少弯路.实现了wordpress同步镜像,现在总结出来.希望能给后面的博友照个路.不要和我一样连滚带爬的摔过来.

搬家前先减少流量
搬迁原因无外乎流量超标.
解决流量超标的方法第一是减少全文输出rss文章的数目.一般按照我每天更新3篇文章的频率大家一般rss输出文章数设为10左右绝对就够用了.根据大家实际情况大家可以自己调整
第二是减少博客首页显示的文章数量.毕竟首页显示那么多文章也不一定别人会每个都看到.而且过长的加载时间也是让人无法忍受的
站点备份一定要做好
搬迁前做好准备.一定要做好全站备份.
全站备份有两个部分
一个是站点文件备份.
站点文件备份如果用的cpanel的话建议用cpanel自带的文件管理压缩好了之后直接下载下来.比用ftp一个个的下要快很多.
二个是站点数据库备份
站点数据库备份一定要弄清楚自己需要备份的数据库名和数据表名.
备份时候最好用phpmyadmin整个数据库导出.选择使用gzip压缩.文件比较小而且可以防止crc校验失败的问题.
搬到新站后调试稳定前绝对不要再对原站数据做操作.防止损坏掉原始数据.如果原数据都坏掉就后悔莫及了
将数据导入新的服务器
备份好了之后就是要导入到新的服务器上了.
首先将之前全站备份好的zip压缩包文件用cpanel文件管理上传到新服务器上解压
然后将所有文件移动到www文件夹下面
在新服务器上创建好数据库.
创建数据库用户并设置好关联数据库的权限
进入新服务器的phpmyadmin,选定数据库然后导入之前导出的gz文件.
然后用临时访问地址访问新的服务器.没有问题的话就可以进行最后一步修改了
最后一步修改是修改dns的域名解析.通常情况只要修改域名解析中的ANAME将@后面的地址改为新服务器的Ip即可
一般修改后半个小时内.新的地址即可生效.
至此.不改域名只换主机的搬家就完成了.
想实现不同域名的wordpress博客数据同步就看这里
下面是进阶内容.关于实现不同子域名对应不同服务器.但是要实现数据库数据同步更新的方法.
就拿我自己的博客做例子吧.我的旧服务器在mi.mywuala.com上 新服务器在cian.mywuala.com上
我现在将www.mywuala.com对应到了cian的主机.
但是两个服务器使用同一个数据库.数据同步更新.
实现方法如下.
首先要实现wp对自己所在地址的自我识别.
需要修改
wp-config.php文件
加入以下内容
$home = ‘http://’.$_SERVER['HTTP_HOST']; //自动识别博客首页
$wpurl = ‘http://’.$_SERVER['HTTP_HOST'].’/blog’;
//自动识别WP程序的路径,这里的”/blog”要根据实际情况进行修改。
//比如你的WP程序放在public_html/下,那么这里写’/'就可以,如果放在其他目录下,则需要改为相应的目录名。
//最后在最上面那一堆定义的下面加上以下内容
define(’WP_HOME’, $home);
define(’WP_SITEURL’, $wpurl);
这样wp的程序就可以自动判断你是用哪个子域名访问过来的而不会做出错误的跳转.
然后就是要实现数据库的远程访问.
首先请在cpanel中打开远程mysql访问
在访问列表中添加要访问过来的服务器的ip而非本服务器Ip
比如我的A服务器ip是192.168.0.1 B服务器ip是10.0.1.1
我数据库在A服务器上.想实现AB同步.则需在A服务器上打开远程MYSQL,并且添加IP 10.0.1.1到访问允许列表中
在这里大家要注意一点.有时虽然服务器B的共享IP为10.0.1.1但是数据库访问时ip可能会有变化.导致你无法正常访问.
解决方法是在添加时使用通配符%如10.0.1.%这样就可以实现这个段的都能正常访问了
设置完成后使用php探针尝试远程访问,如果提示连接成功则可以进入下一步了
如果提示连接失败则可能需要在其他地方做尝试.有可能你的主机服务商在防火墙上拒绝了所有的mysql端口连接.
也有可能是远程的mysql服务器上远程服务器要给数据库加前缀.具体原因不尽相同,最好能够找到自己的服务商问清楚.
如果连接成功的话就可以进入最后一步.修改wp-config.php中的数据库参数设置.
修改数据库名,用户名,密码,远程服务器名.然后访问
至此不同服务器不同域名的wordpress同步数据更新完成.
如果你的wp在升级中遇到
wp-includes/http.php on line 1327
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to alloc
等类似因素 请把wp-settings.php文件,将define(‘WP_MEMORY_LIMIT’, ‘32M’);`中的32改成64,一般修改后即可生效,问题就可以解决了。
上面其实自己觉得写得也不是很详细.最多只能算一个指导吧
如果朋友们有自己不明白的地方或者想讨论的可以直接在下面留言.我会尽我能力解答
