说说搬迁网站时候那点儿破事儿吧
我相信网站搬家对于许多站长都是一个十分蛋疼的问题。
无论是数据库,还是网站代码,搬迁都非常令人头疼。
好了,废话不多说,我就说说我搬网站的时候有多蛋疼吧。
首先,12G的MySQL数据文件(说是MariaDB更好)
想要从一个服务器搬到另外一个服务器,还是跨洲的(香港——法国),那稳定性我就不说什么了。
sftp真心慢成狗了……香港服务器本身只有3Mbits的带宽,上传速度300KBytes每秒,那简直就是忍无可忍啊……
结果偶然一下子发现了个好东西叫做rsync,哇塞豁然开朗啊……
上传速度按MByte算啊,超过了物理限制有木有!
将此事问询Q神,果真不出我所料是压缩了。
管他呢,不管黑猫白猫,只要能抓老鼠就是好猫。
速度这么快,爽死了,也就是差不多两个小时左右传完了……
之后开始忙活MariaDB安装啊,配置啊……
发现数据库文件在,数据库有显示表存在,但是点击之后告诉我Table xxx doesn’t exist……
这不是在逗我么,这不是在逗我!
去网上查了一下,得把原来数据库的ib*文件全都传过去。
OK,传过去之后就没事儿了。
开始跑网站抓数据。
哎我去,新问题来了:有个表仍然显示不存在。
一看,这两个文件都不在,表能存在才怪。
OK,从旧服务器上传了这两个文件。
本以为能搞定,结果发现建表的时候显示Table xxx exists!
打开表又显示Table xxx doesn’t exist!
想要DROP也提示doesn’t exist……
你在逗我……
好吧,把ib*都移到了一个文件夹里备份,重新上传ib*文件。
得了,MariaDB干脆无法启动。
好吧,重新把之前的复制回来。
一下子又好使了……谁知道这鬼东西到底是怎么运作的……
但是user表和邮件提醒表失踪了……显示存在但是打开的时候又提示不存在……
好吧,抱着仅存的希望DROP表,没想到DROP成功了!
直接从老服务器导出两个sql文件(比直接拷表文件安全方便快捷,毕竟小可以导出),传到新服务器上然后导入。
OK完成。
然后配置nginx+php……结果发现这个直接把php代码就写出来了……php没有经过解析就出来了……
赶快确认一下连接用文件是否会有代码外泄,发现竟然没有!
之后竟然发现,php-fpm的默认设置是关闭shorttag的……我有些文件是shorttag有些不是(比如连接用文件就不是shorttag所以经过了解析)。去php的设置里面改了改,开启shorttag的解析。
彻底搞定,票.今天 成功地迁移到了法国服务器。60天预售期模式开启,祝你们玩儿的开心!