大家好,我是羊刀仙。
本篇記錄一下自己的博客更新以及域名替換過程,其它平臺的博客應該也都大致通用,需要的朋友可以作為參照。
之前的 Halo 2.0 部署攻略:
更新緣由
之前部署Glance這篇,我偶然發(fā)現(xiàn)博客RSS訂閱竟然是之前的老域名blog.ydxian.love
,現(xiàn)在的訪問域名則是blog.ydxian.xyz
,這可是個大問題!通過SSH查看docker-compose.yml
文件發(fā)現(xiàn),當時果然忘記修改。
看了看Halo官網(wǎng)已經(jīng)更新到2.18版本,在查看官方更新日志后,確認目前的2.14升級到2.18并大版本改動,應該不會出現(xiàn)沖突等問題。于是便決定著手進行更新。
更新流程
??重新拉取安裝Halo新版本
打開SSH工具,比較推薦之前的WEB SSH,很方便好用。
依次執(zhí)行以下命令:
cd /root/data/docker_data/halo # 進入halo目錄下 docker-compose down # 停掉容器 cp -r /root/data/docker_data/halo /root/data/docker_data/halo.archive # 備份,以防萬一 vim docker-compose.yml # 修改版本號,域名 # 英文輸入狀態(tài)下,按i即可進行修改。修改完畢后,按下esc,再同時按下shift+:,英文狀態(tài)輸入wq并回車,即可保存。 # docker-compose pull # 拉取 docker-compose up -d # 直接升級容器時會自動停止并立刻重建新的容器 docker image prune # 刪除所有未被 tag 標記和未被容器使用的鏡像
換成新的域名,版本號改掉,還有箭頭所指的mysql數(shù)據(jù)庫密碼。
??修改數(shù)據(jù)庫
輸入以下命令:
docker ps # 查看容器ID
可以看到,mysql的容器ID前3位是81b
。
接著繼續(xù)輸入命令
docker exec -it 81b # 進入mysql,最后容器ID換成你們自己的 mysql -uroot -p # 登陸mysql # 會提示輸入密碼,空打密碼,敲一下回車 use halo # 切換到名為 halo 的數(shù)據(jù)庫
接著,復制并修改以下命令,粘貼并回車:
# 在 extensions 表中,將 data 字段中所有出現(xiàn)的舊域名 'https://blog.ydxian.love' 替換為新域名 'https://blog.ydxian.xyz',并且只對包含舊域名的數(shù)據(jù)進行更新 UPDATE `extensions` SET `data` = REPLACE(`data`, 'https://blog.ydxian.love', 'https://blog.ydxian.xyz') WHERE `data` LIKE '%https://blog.ydxian.love%'; # 退出并返回 exit # 連著輸入兩次 # 重啟 docker-compose down docker-compose up -d
如下圖所示
新的問題出現(xiàn)
HTTP ERROR 500
這個問題讓我頭疼了好多天,一直以為是數(shù)據(jù)庫的問題。
在論壇發(fā)帖后,小伙伴們建議我看看是否是插件問題,沒想到還真是。
將所有插件都停止后,挨個排查,是名為ToolBench的插件所導致。因為維護進度問題在新版本中對Halo產(chǎn)生一些破壞性問題。看了看現(xiàn)在也用不到,就刪掉啦。
真的是我自己給想復雜了
最后
Halo我使用接近一年,總體評價還是非常不錯的。
如果各位有不能解決的問題,建議輸入以下命令調取運行日志后,到官方論壇尋求幫助,大佬們回復極快!
docker ps # 查看容器ID,跑不起來就 docker ps -a docker logs 71v # 容器ID前三位
官方傳送門:https://bbs.halo.run
感謝觀看,本文完。
,