侧边栏壁纸
  • 累计撰写 34 篇文章
  • 累计创建 84 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

halo1.x迁移halo2.x过程记录

小小小李哟
2025-01-29 / 0 评论 / 0 点赞 / 6 阅读 / 0 字 / 正在检测是否收录...

去年新用户买的腾讯云轻应用服务器过期了,今年打算继续用新用户买个其他服务商的。发现华为云这个确实便宜,新用户可以购买2C2G2M 和 2C2G3M的,个人建站足够了。【12月特惠进行中】https://activity.huaweicloud.com/cps.html?fromacct=4dc5159a187741c98afd594ca0c85dbf&utm_source=&utm_medium=&utm_campaign=

备份旧数据

  1. 旧数据是1.X版本的,进入后台界面选择:【系统】-【小工具】-【备份】-【数据导出】。备份后点击文件名下载json文件,留作后面备用

  1. 登录旧服务器,备份图片资源。

    1. 首先将halo目录下的upload文件夹进行打包:zip -r upload.zip ./upload`

    2. 然后使用 rsync -av /home/docker/halo/upload.zip root@1.94.xx.xx:/home/docker/halo2/attachments/migrate-from-1.x/ 进行文件传输,attachments/migrate-from-1.x/目录是专门用作迁移的,可以事先在新服务器创建好

安装服务

  1. 登录新服务器,先将传输的文件解压,并查看目录结构是否完整:unzip upload.zip

  1. 安装docker。我不太喜欢使用docker-compose,这里直接用docker run替代了,实际效果是一样的。网络这里直接使用host就可以;--spring.xxx填写对应信息;mysql配置的ip写对应的ip,因为都是使用的host,这里直接写127.0.0.1

# 安装mariadb
docker run -itd \
--name mariadb \
--env MARIADB_USER=root \
--env MARIADB_DATABASE=halodb \
--env MARIADB_ROOT_PASSWORD=xxxxxx \ # 这里替换成自己的密码
--restart=always \
--net=host \
mariadb:latest

# 安装halo2
docker run -itd \
--name halo \
--net=host \
-v /home/docker/halo2:/root/.halo2 \ # 目录结构和实际要对应
-v /etc/timezone:/etc/timezone:ro \
-v /etc/localtime:/etc/localtime:ro \
-e JVM_OPTS="-Xmx256m -Xms256m" \
docker.io/halohub/halo:2.20.14 \
--spring.sql.init.platform=mysql \
--spring.r2dbc.url="r2dbc:pool:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true" \
--spring.r2dbc.username=root \
--spring.r2dbc.password="xxxxxx" # 上面db的密码
  1. 可以安装portainer便于查看容器运行状态。

docker run -itd \
-p 9000:9000 \
--name portainer \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock  \
-v /home/docker/portainer:/data \
docker.io/portainer/portainer-ce:2.26.1

恢复数据

  1. 登录halo2后台:设置账号密码。安装插件:站点迁移;链接管理;图库;瞬间(原日志),安装完成后记得去插件中启用。

  1. 选择左侧菜单中【迁移】,选择halo。

    1. 选择 Halo 1.5 / 1.6 数据迁移

    2. 点击 选择文件 按钮,选择在 Halo 1.5.x / 1.6.x 导出的数据文件(JSON 格式)。

    3. 如果在 1.x 中使用了云存储,会弹出选择云存储的对话框,选择之前创建的存储策略即可。

    4. 最后点击页面下方的 执行导入 即可。

参考:

https://docs.halo.run/getting-started/migrate-from-1.x

https://docs.halo.run/getting-started/install/docker/

https://blog.laoda.de/archives/docker-compose-install-halo-version-2

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区