前言#
這兩天收到阿里雲的信息,提示我虛擬主機要過期了,我就在考慮要不要續費,其實自己早就有想法把所有的網站都放到一起了,畢竟自己有 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')