记一次业务整体迁移

RT 东西比较杂 算是随笔记录一下,参考资料蛮多的
大致的情况是:
操作系统均为debian 8.6 x64
服务器A(物理机),有一个普通的http业务,一个java业务,一个mysql业务,一个FTP业务
服务器B(套在A里面且没有公网ip的虚拟机)一个dz论坛,一个mysql业务
服务器C(目标机器,新系统,而且还有个还没挂载的硬盘)
A和C不在一个地点,需要公网传输,且A和B上面的业务都要整合在C上面,另:A上面的mysql可舍弃(不要问我为啥不要数据了,设定就是如此)
 
第一步:先部署一下新机器的环境
大致需要的有:tengine php5-fpm mysql-server openjdk vsftpd db5.3-util
以及有个没格式化也没挂载的硬盘

mkfs.xfs /dev/sdb -f (反正我是用xfs,以及这个不需要分区,直接把盘挂上去好了)
mount /dev/sdb /var/hdd

重启后保持挂载:
blkid 查看下这块硬盘的uuid

vim /etc/fstab

最下面直接按照这个格式写一下

UUID=12345678-1234-1234-1234-123456789012       /var/hdd      xfs     defaults        0       0

保存退出即可
其他的没啥事情 按照需求创建一些文件夹 以及mysql记得先设置个密码
 
第二步:先把最简单的搞起来(java/http/ftp)
这个应该最简单了
java装好openjdk即可
没有dz论坛,纯http也只是需要配置下tengine的配置即可,可参考以前的博文:http://blog.bilicloud.com/?p=133
ftp依旧:http://blog.bilicloud.com/?p=25
搞起来后文件通过tar打包,scp发送过去,再到指定的文件夹解包即可
文件太大/太杂/需要保持文件夹结构的话可以参考下偷懒的方法:http://blog.bilicloud.com/?p=172
 
第三步:迁移数据库
开头说明了一下,服务器A的数据库里的数据可以舍弃,所以这样就简单得多了~我们只需要把服务器B的数据库迁移即可
先确认一下版本,发现服务器B的版本要比C的版本老一点,用apt-get升级一下,升级后确认两边版本一致,然后stop掉mysql的服务
之后查看了一下数据库所在位置,cat /etc/mysql/my.cnf 找到路径 进去,tar打包一下,然后scp直接发到服务器C,解包,放到指定位置,然后检查一下文件夹和里面的文件的权限,如果不是mysql的话需要chown mysql:mysql -R 来设置一下权限
完事后mysql -uroot -p 登陆一下 然后show DATABASES; 查看下数据库是否存在,也可以use一下后show一下 看看能否正常读取之类的。总之我的迁移是顺利的完成了。
 
第四步:迁移dz论坛
这一步我们大致跟着官方文档走,官方文档地址见参考资料里的链接~
先将论坛全部tar打包,然后依旧scp发过去,解包,放到指定位置,确认权限
然后写一下tengine的配置文件,具体可参考http://blog.bilicloud.com/?p=133
之后修改以下文件,改一下数据库的账号密码(这里我创建了一个新的用户名和对应的密码 数据库上要做一下授权,然后再从这边改一下密码)

./config/config_global.php
./config/config_ucenter.php
./uc_server/data/config.inc.php

改完后 重启tengine 然后。。。嗯?502?
看了一下log 发现是fastcgi 连接被拒绝,然后ss -nat发现。。。根本就没有fastcgi的端口,检查了一下php-fpm.conf发现 原来我忘记写listen了。。。果断补一下

vim /etc/php5/fpm/php-fpm.conf

直接跳到结尾,粘贴上:

listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
listen.backlog = -1

:wq保存退出 然后重启一下php5-fpm服务,然后浏览器刷新下页面。。。起来了~
之后做了一下登陆 发帖 删帖测试 都一切正常,迁移任务完美结束=w=
 
参考资料:
DZ资料库-论坛迁移:http://faq.comsenz.com/library/bbsapp/movesite/movesite_index.htm

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注