大家好,我是羊刀仙。
本篇记录一下自己的博客更新以及域名替换过程,其它平台的博客应该也都大致通用,需要的朋友可以作为参照。
之前的 Halo 2.0 部署攻略:
更新缘由
之前部署Glance这篇,我偶然发现博客RSS订阅竟然是之前的老域名blog.ydxian.love
,现在的访问域名则是blog.ydxian.xyz
,这可是个大问题!通过SSH查看docker-compose.yml
文件发现,当时果然忘记修改。
看了看Halo官网已经更新到2.18版本,在查看官方更新日志后,确认目前的2.14升级到2.18并大版本改动,应该不会出现冲突等问题。于是便决定着手进行更新。
更新流程
⭕️重新拉取安装Halo新版本
打开SSH工具,比较推荐之前的WEB SSH,很方便好用。
依次执行以下命令:
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 # 修改版本号,域名 # 英文输入状态下,按i即可进行修改。修改完毕后,按下esc,再同时按下shift+:,英文状态输入wq并回车,即可保存。 # docker-compose pull # 拉取 docker-compose up -d # 直接升级容器时会自动停止并立刻重建新的容器 docker image prune # 删除所有未被 tag 标记和未被容器使用的镜像
换成新的域名,版本号改掉,还有箭头所指的mysql数据库密码。
⭕️修改数据库
输入以下命令:
docker ps # 查看容器ID
可以看到,mysql的容器ID前3位是81b
。
接着继续输入命令
docker exec -it 81b # 进入mysql,最后容器ID换成你们自己的 mysql -uroot -p # 登陆mysql # 会提示输入密码,空打密码,敲一下回车 use halo # 切换到名为 halo 的数据库
接着,复制并修改以下命令,粘贴并回车:
# 在 extensions 表中,将 data 字段中所有出现的旧域名 'https://blog.ydxian.love' 替换为新域名 'https://blog.ydxian.xyz',并且只对包含旧域名的数据进行更新 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
如下图所示
新的问题出现
HTTP ERROR 500
这个问题让我头疼了好多天,一直以为是数据库的问题。
在论坛发帖后,小伙伴们建议我看看是否是插件问题,没想到还真是。
将所有插件都停止后,挨个排查,是名为ToolBench的插件所导致。因为维护进度问题在新版本中对Halo产生一些破坏性问题。看了看现在也用不到,就删掉啦。
真的是我自己给想复杂了
最后
Halo我使用接近一年,总体评价还是非常不错的。
如果各位有不能解决的问题,建议输入以下命令调取运行日志后,到官方论坛寻求帮助,大佬们回复极快!
docker ps # 查看容器ID,跑不起来就 docker ps -a docker logs 71v # 容器ID前三位
官方传送门:https://bbs.halo.run
感谢观看,本文完。
,