最近碰上了一個問題,七牛雲開始回收測試域名,結果導致我的圖牀有些失靈、一些軟件資源都無法下載。其實這個問題在前一段不蒜子統計修改的博客裏已經有兆頭了。不過當時沒注意。最後還是被逼得只能購買了域名,各類備案,重新搭建圖牀。
1 域名購買及備案
在阿里雲上購買域名備案就不具體說明了。詳情參加下面的網址。
阿里雲的域名備案推薦用阿里雲手機app進行,現在已經不需要幕布,比原來簡化了很多流程。
當然如果其他平臺購買域名也是可以的。國外域名其實都不需要備案的,不過七牛雲圖牀搭建要求主站域名必須備案,反正是比較麻煩。
2 hexo博客自定義域名綁定
hexo博客本身就支持自定義域名的綁定。其實只需要將原來github倉庫上的域名轉接到新的域名上即可。首先是在hexo博客的source文件夾增加一個CNAME的文件,寫入你的域名。接着在域名控制檯設置解析DNS。
設置如下三個,一個CNAME,兩個指向IPV4地址的,其實給的是github的IP。
這樣設置完畢後,原來的網站即轉接到新網址。
3 ICP備案與網安備案
ICP備案其實是阿里雲那邊已經幫忙提交了。阿里雲一般一天時間幫你審覈完畢,即自動提交工信部ICP備案,這個比較好解決。網安備案要求有服務器。花的時間比較長(尤其選交互式網站的話)。我這邊是不小心選了交互式網站。但是建議可以選非交互式的,選www服務之類的。個人靜態網站影響不大。網安備案交互式的需要填多個申請表。
4 七牛雲圖牀搭建
這個其實就是在測試域名過期的七牛雲對象存儲服務上綁定新的自定義域名。填一個二級域名。即在你的域名(假定爲xxxx.com)面前增加一個比如cdn.xxxx.com或者qn.xxxx.com都是可以的,這個隨你的喜歡。創建完成後,就會有一個CNAME的域名。複製之後。到域名控制檯解析DNS增加新的記錄。
馬賽克部分是你的自定義二級域名。
這樣子圖牀就重新構建完成了,只需要在對應的地方做些配置修改即可。
5 批量替換博客的圖片外鏈地址
事實上這樣子博客圖片外鏈地址全是舊的,很有可能後面圖片都會失效,一個一個改實在費時費力。所以思考了下如何進行批量替換,最後想到了最簡單的方式就是用Python寫一個簡單的代碼。
import os
#Hexo blog
basepath = '你的markdown文件放置文件夾'
blogfiles = os.listdir(basepath)
for i in range(0, len(blogfiles), 1):
blogfilesuse = blogfiles[i]
blogfilespath = basepath + '/' + blogfilesuse
blogfile = open(blogfilespath)
blogf = blogfile.read()
blogf = blogf.replace('測試域名1', '新子域名1')
blogf = blogf.replace('測試域名2', '新子域名2')
blogf = blogf.replace('測試域名3', '新子域名3')
blogf = blogf.replace('原二級域名', '新域名')
outputpath = '輸出路徑'
outfile = outputpath + str(blogfiles[i])
outf = open(outfile, 'w+')
outf.write(blogf)
outf.close()
blogfile.close()
這樣一瞬間就搞定了,至於其他平臺的博客(修改域名前的這些博客外鏈可能就懶得修復了)只能說聲抱歉了,如果你們想看博客的話,歡迎看自己搭建的這個博客。
6 將備案信息添加到網頁底部
最後一步是將備案信息添加到網頁底部。此處只針對NexT主題,其他主題也是類似。只需要找到NexT主題文件夾下的themes\next\layout_partials下的footer.swig。在endif前面加入以下的代碼。
<div class="BbeiAn-info">
{{ __('XICP備')}} -
<a target="_blank" href="http://www.miitbeian.gov.cn/">你的ICP備案號</a>
</a>|
<a target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=你的網安備案號" style="color:#f0d784;text-decoration:none;padding-left:30px;background:url(將圖標傳到圖牀上附上外鏈) no-repeat left center" rel="nofollow">{{ __('X公網安備 備案號') }}</a>
</div>
最後感謝下一些參考的博客,並附上鍊接。
參考博客: