- 热点
dz网站搬家
时间:2010-12-5 17:23:32 作者:焦点 来源:休闲 查看: 评论:0
内容摘要:搬家那天我盯着phpMyAdmin的导出按钮看了十分钟。不是犹豫,是怕。dz论坛跑了六年,帖子三十七万,附件塞满两块硬盘,这一键下去,要是漏了哪个表,等于把用户六年的记忆丢进碎纸机。 其实dz搬家没那
搬家那天我盯着phpMyAdmin的网站导出按钮看了十分钟。不是网站犹豫,是网站怕。dz论坛跑了六年,网站帖子三十七万,网站附件塞满两块硬盘,网站这一键下去,网站要是网站漏了哪个表,等于把用户六年的网站记忆丢进碎纸机。 其实dz搬家没那么玄乎。网站核心就三件事:文件、网站数据库、网站配置。网站文件用FTP拖下来打包,网站数据库在后台备份成SQL,网站然后传到新服务器解压导入。听起来像把旧家的家具搬进新房子,但真正的坑藏在细节里。 我第一次搬家栽在ucenter上。dz的会员系统是独立的,叫ucenter,跟论坛主程序分开。当时只备份了论坛数据库,ucenter的库没管,结果新站打开,所有用户密码全乱套,登录直接报错"密码错误次数过多"。那晚我蹲在机房,把ucenter的表一条条对回去,凌晨三点才把用户数据拼回来。从那以后我学乖了——搬家前先列清单,ucenter的库、论坛的库、附件目录、头像目录,一个都不能少。 文件迁移有个小窍门。直接打包整站,压缩包往往几百兆,上传慢还容易断。我习惯先把upload目录的图片和附件单独打包,用FTP软件的分段传输功能慢慢传,同时把程序文件压缩成小包,传完直接解压覆盖。这样即使中途断线,损失也有限,顶多重传一个几十兆的小包。 最容易被忽略的是配置文件。dz的config_global.php和config_ucenter.php里写死了数据库地址和ucenter的通信密钥。新服务器的数据库IP变了,这两个文件不改,后台直接白屏。改的时候小心,别动那些加密的字段,只改host、user、password、dbname四项。改完记得把文件权限设成644,不然php执行会报错。 导入数据库也有讲究。小站直接phpMyAdmin导入没问题,但像我那个三十七万帖的库,SQL文件两百多兆,phpMyAdmin会超时。我后来都用命令行:mysql -u用户名 -p密码 数据库名 < 备份.sql。终端里看着进度条走完,心里才踏实。导入前先清空新库的默认表,不然主键冲突会报一堆错。 搬家完最爽的时刻是改域名解析。旧服务器关掉,新服务器开起来,等DNS刷新那两小时,我一边刷着手机看论坛能不能打开,一边后悔没早点搬——新服务器是SSD,页面加载快了一倍多,老用户发帖说"感觉流畅了",那一刻觉得熬夜值了。 最后提醒一句:搬家前把旧服务器上的cron任务停掉。我之前忘了关定时备份脚本,新站刚上线,旧服务器的备份任务还在跑,结果数据写回了旧库,新站和旧站数据对不上,用户发的帖子两边各存一半。那周我天天对比两个库的差异,手动补数据,补到怀疑人生。 dz搬家这事,说穿了就是细心活。文件传全,库导对,配置改准,三步走完,剩下的交给时间。但每一步都藏着那种"看似简单、一错就崩"的陷阱。你要是也打算搬,记住我的教训:先备份,再动手,别信"应该没问题"这种鬼话。