喵の窝

一次蛋疼的主机迁移

正所谓汪星人嘴欠,喵星人手贱.昨晚博主看自己的博客突然就不顺眼了,突然就想在博客上搞点事儿了,突然就不喜欢当时的主题了,突然就想换个了….

于是…..

浏览主题ing…

诶..这主题我喜欢…install…active..

欸…那个也不错…install…active….

誒…这些主题都不错..我都要了….install…install…install…active…active…active…

诶我擦…怎么服务器突然就http 500错误了.wordpress怎么突然就上不去了…唉..算了,可能是阿里云的虚拟服务器不稳定,不如趁这个机会把blog迁移到ecs上吧.(其实是某个坑爹的wp主题导致的http 500…囧)

在这里说明下.博主租了两台服务器,一台是阿里云的虚拟主机,一台是阿里云ecs.虚拟主机上阿里会配置好所有与发布网页相关的东西.比如阿里会提供mysql服务器和ftp服务器地址,并且会帮你创建mysql和ftp账户,还会配置好相应地数据库和ftp目录结构.apache也会将虚拟服务器根目录指定到ftp下的某个目录里.总之,在虚拟主机上,你只要把wordpress程序扔到ftp服务器中的某个指定目录下.博客就跑起来了.而ecs则不一样.阿里云的ecs只会提供一个操作系统(博主选的是ubuntu).其他的啥都没有,包括数据盘都没有分区.所以想把博客迁移到ecs上.首先把mysql,apache,php这些乱七八糟的环境配置好.不过这都不是事儿,因为博主之前玩过ubuntu….

$aptitude update
$aptitude dist-upgrade
...

1个小时后,环境配好了.为了确认环境正常,楼主还特地把dev.tyzual.com这个域名解析到ecs上,直到看到测试界面才开始博客的迁移过程.

首先迁移的是数据库.把虚拟主机管理页面的按钮挨个点了一遍以后..我终于在某个不起眼的角落里找到了导出数据库的按钮….两分钟以后,一份sql文件就生成好了.在好奇心的驱使下,我点开sql文件看了一眼,然后立马把目光锁定在四个硕大的字符上:UTF8……好吧….我还要把整个mysql的编码转换为utf8编码…不过这也不难.理论上改个配置文件就好了.而且这种东西百度上一大堆.

两分钟后,配置文件改好了.启动mysql服务.

$/etc/init.d/mysql restart
mysql stop.
mysql start.
mysql start error...

(:з」∠)

我擦咧…一定是我改配置文件的姿势不对….我在换个教程看看…..

半小时后.

mysql start error...

(:з」∠)__(:з」∠)

好吧,看来把整个mysql运行环境的编码改成utf8不太现实.我还是只把wordpress的数据库的改为utf8编码吧.

两分钟以后…..

mysql start success.

想要向mysql里面导数据,还需要一个mysql的控制前端.目前很常用的一个前端是phpmyadmin.于是博主立马下载了phpmyadmin.扔到apache中.配置好域名解析.打开浏览器.输入域名.按下回车.Here We Go~

网站返回:

如果你看到这条信息,说明你访问姿势不对
: )

(:з」∠)(:з」∠)(:з」∠) ps:点击此处可以看到同样效果

好吧.忘配置apache的虚拟服务器了……两分钟以后,phpmyadmin正常启动.

输入用户名.登陆.选择目标数据库.点击从文件导入.选择sql文件.点击确定!

两分钟以后

Import error. Can't create database file. Please check your privilege.

(:з」∠)(:з」∠)(:з」∠)__(:з」∠)

好吧..那就check一下privilege吧…cd到mysql的数据库目录

$ls -ld mysql
drwx------+ 6 root  root  204 Dec 11 21:19 mysql//

摔!谁特么能告诉我mysql的数据库什么时候成root的了!

两分钟以后…sql文件正常导入….

五分钟以后,tyzual.comwww.tyzual.com解析到ecs上.

十分钟以后,wordpress正常运行.

呵呵..你们以为这就结束了吗..

你们是图样图森破.

还记得那个dev.tyzual.com吗.把博客迁移到ecs上了以后.博主觉得虚拟主机不用的话就太浪费了.于是决定把dev.tyzual.com这个域名解析到虚拟主机上.配置好dns解析以后.还需要在wordpress管理管理界面里面配置一下博客的域名.于是博主登陆dev.tyzual.com.把WordPress Address和Site Address都设置成了dev.tyzual.com.

然后….tyzual.com和dev.tyzual.com就都出问题了……………

(:з」∠)(:з」∠)(:з」∠)(:з」∠)(:з」∠)

访问dev.tyzual.com.网站无限loading..访问tyzual.com,只能看到文字,样式全部丢失.

唉…这一定是博主心有杂念…只想着快点把博客迁移好…待博主沐浴更衣….问题一定会自然而然的解决.(其实这里也有一定的科学依据的.修改dns解析需要一个同步过程.数据从阿里云的dns同步到我们小区本地的dns需要几分钟到几时分钟的时间)….

半小时后,无限loading的依然无限loading,样式丢失的依然样式丢失.

(:з」∠)(:з」∠)(:з」∠)(:з」∠)(:з」∠)__(:з」∠)

好吧..既然说到修改dns有延时…那么在博主第一次把dev.tyzual.com指向虚拟服务器的时候本地dns可能还没更新.所以博主通过dev.tyzual.com访问到的wordpress可能还是ecs上的wordpress…..想到这…博主打开host文件,强行把dev.tyzual.com和tyzual.com都指向ecs.终于,wordpress的界面回来了,进入到设置一看.果然博主修改的是ecs上的wordpress.

到这…这场手贱之旅总算画上了一个句号.以后博主再也不会这么轻易的迁移wordpress了.(:з」∠)

ps:文中的命令应该都是正确的.但是对应的输出根据上下文做了些调整..请不要在意这些细节…