系统
领取的机器选用了debian 11系统 2h2g
环境配置
- 首先安装最基本的docker和docker-compose环境本次部署也是选用docker
- 配置docker-compose.yml文件 具体参考halo官方文档halo-docker-compose部署文档
以下配置仅供参考
version: "3" services: halo_server: image: halohub/halo:1.5.4 container_name: halo_server restart: on-failure:3 depends_on: - halo_mysql - halo_redis networks: halo_network: volumes: - ./:/root/.halo - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "8090:8090" environment: - SERVER_PORT=8090 - SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver - SPRING_DATASOURCE_URL=jdbc:mysql://halo_mysql:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true - SPRING_DATASOURCE_USERNAME=root - SPRING_DATASOURCE_PASSWORD=o#DwN&JSa56 - HALO_ADMIN_PATH=admin - HALO_CACHE=redis - SPRING_REDIS_PORT=6379 - SPRING_REDIS_DATABASE=0 - SPRING_REDIS_HOST=halo_redis - SPRING_REDIS_PASSWORD=dm5fD%rvPtq halo_mysql: image: mysql:8.0.27 container_name: halo_mysql restart: on-failure:3 networks: halo_network: command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true volumes: - /etc/localtime:/etc/localtime:ro - ./mysql:/var/lib/mysql - ./mysqlBackup:/data/mysqlBackup ports: - "3306:3306" environment: # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_DATASOURCE_PASSWORD 变量值 - MYSQL_ROOT_PASSWORD=o#DwN&JSa56 - MYSQL_DATABASE=halodb halo_redis: image: redis container_name: halo_redis restart: on-failure:3 networks: halo_network: volumes: - ./redis/data:/data - ./redis/logs:/logs # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_REDIS_PASSWORD 变量值 command: redis-server --requirepass dm5fD%rvPtq ports: - "6379:6379" networks: halo_network:
- 然后使用命令docker-compose up -d 启动命令 如果不出现报错。就是部署成功了
安装和配置
- 系统默认使用8090端口。因此要去阿里云后台放行8090端口 然后输入ip:8090就可以访问halo的安装界面了
- 安装完成后 访问ip:8090就可以查看博客
- 输入ip:8090/admin进入后台管理界面
修改默认主题
- 进入后台后 选择主题我们选择安装主题-从远程下载具体下载链接可以从halo官方主题仓库获取
- 我们选择一个主题 复制下载链接。远程下载后启用,返回博客主页刷新就可以看到新的主题了
后话
- 借助阿里云免费的学生机器 复习了docker 和 docker-compose 部署项目 也算是一个不错的学习机会