网站迁移的那些事

时间:2014-09-17 12:04:06来源:作者:点击:

  笔者有个网站因旧服务器出了点问题,需要迁移到新的服务器上,整个过程可谓是一波三折,那如何避免踩坑呢,笔者通过自己的一些经验分享给大家,希望大家在类似的问题上得以解决,少走弯路。

  一、选用空间商

  前期准备选用西部数码的虚拟空间,上传代码和数据库花费不少时间,结果发现绑定域名数量有限,且域名不能映射到指定的目录,在数据同步这一块有很多瓶颈,最后左思右想还是选择国外比较好的空间商godaddy。

  二、数据导入

  fa68的数据有将近达到一个G,虽然godaddy的phpmyadmin提供了可上传1G的文件,但考虑到网页上传速度太慢,且有可能网络中断,然后通过远程客户端native连接的方式导入执行sql,通过一个多小时的导入过程,发现native提示300多条错误,只有部分表导入成功,提示错误为MySQL server has gone away,可能是DB连接超时,以及数据导出的mysql版本和导入的版本有冲突,所以被迫取消这种方式。最后无意中在Godaddy cPanel上看到SSH功能,那就好办了,登录旧服务器通过SCP命令将文件远程同步到现在新的服务器上,其实到这一步剩下的事情应该是很简单了,但我鬼使神差的使用了mysqldump命令去导入sql文件到数据库(如:mysqldump -uusername -ppwd -hlocalhost -P3306 fa68 < fa68_20140906.sql 导入),结果每次执行都已失败告终,最后查阅了资料才发现命令使用错误,正常导入sql文件的命令是:mysql -uusename -ppwd -hlocalhost -P3306 fa68 < fa68_20140906.sql,多么低级的错误,连我自己都不能饶恕自己了。

  三、URL重写

  因为在购买之前是确认过godaddy支持rewrite功能,原本以为只要代码上传上去,修改下某些配置,就能跑起来了,但世事难料,访问伪静态页面的时候报:No input file specified,也就是404错误页面,最后通过各种方法排查出:是godaddy php没有识别出pathinfo导致的,因为godaddy使用的是Fastcgi模式,php不支持目标网址的pathinfo解析,既然找到问题那就好办了,修改网址根目录下的.htaccess文件中的这句 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 改为 RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L],到此完美解决网站访问问题。

  四、服务器配置

  因前期没有对网站访问统计数据进行过分析评估,首次买的godaddy配置是Resource Level 1,是最基本的配置了,配置大概如下:CPU 1个、Physical Memory 512M、进程100个,结果网站一上线,导致大量的php crash,php主进程重启,CPU达到100%,内存崩溃,导致新注册用户、发的广告信息数据大量丢失,一看QQ已经有很多头像在闪动,知道为什么很多吗?因为全部都是网站用户来投诉了,后台监控中心告急,最后配置升级到Resource Level 2,各种配置参数翻倍,该问题得到解决。

  自己总结分析了下,这次迁移遇到的各种问题,我觉得是前期考虑不周全,比如空间商选择、对godaddy产品不够了解,没有对网站需要的配置有一个实际的评估,也没去分析可能会碰到的风险点,没有制定任何回滚措施,就这样糊涂的上线了,结果导致大量用户投诉反馈,用户体验极度不好。通过这次迁移事件总结:做一件事情,行动之前一定要三思,要对这个事情一定要有个通盘的了解,对每个涉及的环节由表及里的去分析,等你把整个事情设计好后,你会发现接下来的事情是如此的顺利、简单、完美,总之细节和态度决定成败!

  来自:http://www.fa68.com

您可能感兴趣的文章

无相关信息

文章评论