banner
阿道

阿道

阿道博客

Typecho博客迁移及报错解决-宝塔环境

前言#

这两天收到阿里云的信息,提示我虚拟主机要过期了,我就在考虑要不要续费,其实自己早就有想法把所有的网站都放到一起了,毕竟自己有 vultr 的 vps,配置上放自己的这些网站也没有任何问题,主要就是备案的问题,这是真的坑啊。。没有备案就不能使用国内的 cdn 服务,自己的小程序也不能正常运行了,还是一件比较尴尬的事情。后来考虑了一下,还是先放到美国的 vps 里面吧,以后在考虑换到国内的云服务器,估计到时候还要重新备案。

对了!还有一个很重要的原因。。。就是我的域名是 me,国内不能备案

下面就是我这次迁移服务器的过程和遇到的一些坑,算是做一次记录,没准也可以帮助遇到同样问题的小伙伴。

原始网站数据备份#

1. 通过 FTP 工具将网站所有数据都打包下载。
2. 通过阿里云自带的数据库管理工具将数据库全部备份下来,所有的表!utf8 编码!
2.1 这里注意一点,我在导入旧数据库到新的服务器时,有一段报错

T FOREIGN_KEY_CHECKS = 0;

mysql 启动和关闭外键约束的方法,去掉即可

  • 方法(通过数据库管理工具的命令行执行)

SET FOREIGN_KEY_CHECKS = 0
SET FOREIGN_KEY_CHECKS = 1

如果没有报错,继续正常操作即可,如果有上方的报错就执行上方的命令后重新导出数据库

新服务器部署#

我的服务器是 centos7,部署了宝塔,都 9102 年了,还敲命令行啊!!(主要是我自己太懒。。。)

1. 使用宝塔自带的一键部署源码工具直接部署 typecho!因为我之前的 php 版本为 5.5,这里部署的时候我也选择了 5.5。避免出现更多的问题!

2. 部署成功后,进入到 PHPmyadmin,先删除全部的表!然后导入之前备份的数据库!如果出现什么 500 报错,检查下 config.inc.php 是否设置正确

3. 网站后台关闭地址重写(伪静态功能)

4. 网站地址改为 http

5. 导入旧 typecho 的 usr 目录到你的新网站根目录进行替换!

6. 宝塔管理面板开启伪静态(直接选择 typecho 即可)

7.typecho 网站后台开启伪静态(确定伪静态设置正确的情况下强制开启即可)

7. 网站地址改为 https

8. 宝塔开启 https,我使用的是 cloudflare 的证书,部署证书成功后,强制跳转 https 即可!

内容替换#

部分旧的数据是写死的,比如首图的地址,这个时候我们就需要手动替换,如果数据少的话,可以人工修改,我这里有几十条需要改,就使用命令来改,也就是几秒的事情。

  • typecho_fields 表名
  • str_value 字段名

大致意思:将表名为 typecho_fields,字段名 str_value 下内容为 blog.45share.com 替换为 adao.me(blog.45share.com 为博客旧地址)

UPDATE typecho_fields SET str_value = replace(str_value, 'blog.45share.com', 'adao.me')

一切正常~#

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。