halo博客搭建记录

网站架构

  1. docker一个虚拟机负责所有web应用,由单个nginx反代相应端口
  2. 数据库MySQL独立在另一个虚拟机上,单独提供所有应用需要的数据库功能
  3. DDNS端口映射,然后由HK服务器反代对应端口
  4. 将JS、CSS等静态文件做内容替换,全站强制SSL

填坑

  1. MySQL默认建库是utf8编码,halo需要utf8mb4编码,不然会出现Internal Server Error,docker logs会看到数据库SQL的相应错误,下面是halo官方的MySQL建库

    create database halodb character set utf8mb4 collate utf8mb4_bin;

  2. web虚拟机上的nginx需要使用DDNS的域名反代

仍然存在的问题

  1. 后台地址端口相关问题,Github已经看到相应的Issue,后续跟进