【halo】博客系统从部署到访问
部署
本文采用 docker-compose的方式进行部署,可以有效避免一些莫名其妙的问题
halo 支持多种数据库方式进行部署,这里采用的是PSQL方式进行部署,其他数据库部署方式可以参考文档
docker-compose.yaml
- halo
- ports: 端口映射。修改第一个端口值为期望访问的端口
- image: 镜像名。每次更新版本可以通过修改该参数的值执行重新构建即可无痕升级
- command
- spring.r2dbc.password: 数据库密码。需要与下面的halodb中的数据库密码保持一致
- halo.external-url: 外部访问地址。根据实际域名填写,也可以填写127.0.0.1地址
- halodb
- environment
- POSTGRES_PASSWORD: 数据库密码。可以修改为自定义密码。
- environment
version: "3"
services:
halo:
image: halohub/halo:2.10.0
container_name: halo
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- ./:/root/.halo2
ports:
- "8090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
command:
- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
- --spring.r2dbc.username=halo
# PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
- --spring.r2dbc.password=password
- --spring.sql.init.platform=postgresql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=https://blog.cnkj.site
# 初始化的超级管理员用户名
- --halo.security.initializer.superadminusername=admin
# 初始化的超级管理员密码
- --halo.security.initializer.superadminpassword=P@88w0rd
# 启用缓存
- --halo.cache.page.disabled=false
halodb:
image: postgres:latest
container_name: halodb
restart: on-failure:3
networks:
halo_network:
volumes:
- ./db:/var/lib/postgresql/data
ports:
- "15432:5432"
healthcheck:
test: [ "CMD", "pg_isready" ]
interval: 10s
timeout: 5s
retries: 5
environment:
- POSTGRES_PASSWORD=password
- POSTGRES_USER=halo
- POSTGRES_DB=halo
- PGUSER=halo
networks:
halo_network:
external: false
部署完成后就可以通过 http://127.0.0.1:8090 进行站点访问了
外部访问
这里主要讲解如果通过域名进行公网访问站点<