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')

一切正常~#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。