ali云发来通知,弹性web托管2022.4.1下线,可以先免费提供云虚拟主机供替代,双啊,来移吧。本想着快点搞完,但是却忙中出错,看来还得静下心来理一理,保持个平常心:) 这里提下typecho(这个blog用的)迁移遇到的问题,主要涉及数据库,迁移步骤可以参考官方文档,这里就不写了。

  • 备份说明

typecho的文章评论都在数据库里,管理员后台的备份就不适合这个迁移场景,用ali官方方法从弹性web托管备份数据库。另一个是网站的usr目录,usr嘛全是用户数据,自定义的修改都在里面,要我重改,要疯(虽然我本地有关联git)。防止万一,其他目录我也下载了,反正不大。

  • typecho安装卡在确认数据库配置

这个页面先不要关,我用的typecho版本是最新的,需要在install.php里56行添加ob_start();如下:

55 else:
56 ob_start();
57 require_once dirname(__FILE__) . '/config.inc.php';

然后再在虚拟主机后台高级环境配置下PHP.INI里勾选如下:

ali-vm-php-ini.png

现在,重新刷新下就能看到让你选择新建数据库还是要用旧数据库(前提是数据库已经迁移过来),当然选择用旧数据库(这就是原来的备份文章数据啊)。

  • 域名解析失败

主机后台域名新增绑定我的tjtech.me,记得勾选如下配置:

ali-vm-bind-domain.png

绑定结果提示DNS域名解析失败,这个不用管,用下面工具里的检查项确认状态打勾才可以:

ali-vm-parse-domain.png

解析失败的要去域名解析配置页面确认,因为弹性web托管还保留以前的配置,需要变更下,具体有官方文档可查,用A记录填IP啥的。

  • 数据库类型确认

之前弹性web托管用的mysql,云虚拟主机用的是pdo驱动的mysql。具体就是在安装完成后生成的config.inc.php(可能需要点时间或刷新图形ftp客户端)里:

$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
  • 404 not found

只有index页面能看到,其他文章页面都404 not found, 后台可以打开,修改配置也不行。这里主要是后台的重写,要先关闭测试下,如果没问题,再启用如果提示下面:

typecho-rewrite-failed.png

那要查一查htdocs目录下有没有.htaccess这个文件,这个文件是隐藏文件,filezilla图形客户端需要打开强制显示隐藏文件,可以从弹性web托管空间那里下载到本地再上传到云虚拟机上(估计自己创建一个也行,没测了,另两边server类型一样)。

wow, 一切又恢复了, well done!

参考