老牌论坛迁移实录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了老牌论坛迁移实录相关的知识,希望对你有一定的参考价值。
因为一些内容审查方面的原因,一个运行了很久的论坛被要求限期迁移出现有机房。管制很严,要求在1-2天内完成。论坛的文件(主要是图片及附件)100多G,数据库有80G。我评估了一下,导出数据,部署新环境,导入数据,调试到能正常访问,1-2天可能有点紧张,万一迁移不顺利,还得花费更多的时间。但没办法拒绝,先答应下来再说。跟其它技术人员讨论了一下,先临时采取投机取巧方式,应付检查,其措施如下:
1、在其它不受内容审核的地区,部署一个代理,用nginx就行。
2、修改现论坛web的监听端口(由80改成8989),暂时先不改,配好nginx反向代理以后,绑定本地hosts,域名指向新部署服务器的ip地址,访问确认没问题,再修改到8989端口。同时代理nginx转发端口也对应改成8989。
3、修改dns,把域名解析到代理web服务器的ip。
这样处理,避开了审查,为迁移赢得了时间。
安排异地机房的技术给我们部署系统,因为经验以及其它方面的原因,花了将近一天的时间才交付过来(幸亏采取了前边的临时措施)。为了加快进度,我们自己做了分工,一人负责新系统部署php、nginx和mysql运行环境,而我负责导出数据。导出数据分两部分:论坛数据本身压缩打包、数据库数据导出再压缩打包。
开始,我习惯性的用mysqldump --all-databases 全库导出,过程很顺利,导出后打包再复制到别的地方,大概2个小时。新系统那边,环境已经部署好了,我试着进行导入,进行了几十分钟,报错,因为中文字符的问题,尝试了几种方式,还是一样,只得放弃。重新回源服务器,换成innobackup导出。悲催的是,这个服务器的系统太老了,为centos 5.8,安装xtrabackup有依赖问题,需要使用yum来处理一些依赖,但系统自带的yum源没有了,只好重新构造了一个Centos-Base.repo,其内容如下:
[base] name=CentOS-$releasever - Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ baseurl=http://vault.centos.org/5.11/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 #released updates [updates] name=CentOS-$releasever - Updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ baseurl=http://vault.centos.org/5.11/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ baseurl=http://vault.centos.org/5.11/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ baseurl=http://vault.centos.org/5.11/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ baseurl=http://vault.centos.org/5.11/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 |
以上是关于老牌论坛迁移实录的主要内容,如果未能解决你的问题,请参考以下文章