Halo搭建专属博客

本文指导读者如何在腾讯云环境下,利用Halo2.11.3版本搭建博客,包括准备服务器、配置MySQL、部署docker-compose、设置域名和CDN,以及注意事项和主题推荐。
摘要由CSDN通过智能技术生成

Halo搭建专属博客

一、准备工作

撰文时间:2024年1月3日,Halo版本为2.11.3,本文中第三方均非广告,可选替代产品。

up环境:

服务器:腾讯云2h4g轻量级应用服务器

域名:大陆备案域名*1

CDN:又拍云

面板:宝塔

二、阅读文档

Halo官方文档地址:

1、Halo建站

2、docker-compose快速开始

本文采取的是MySQL存储,对应下方docker-compose.yaml(如果云服务器中有mySQL需要停止服务,否则会占用配置中8.1版本数据库的端口)

version: "3"

services:
  halo:
    image: halohub/halo:2.11
    container_name: halo
    restart: on-failure:3
    depends_on:
      halodb:
        condition: service_healthy
    networks:
      halo_network:
    volumes:
      - ./halo2:/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:mysql://halodb:3306/halo
      - --spring.r2dbc.username=??????
      # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
      - --spring.r2dbc.password=??????
      - --spring.sql.init.platform=mysql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=https://??????/

  halodb:
    image: mysql:8.1.0
    container_name: halodb
    restart: on-failure:3
    networks:
      halo_network:
    command: 
      - --default-authentication-plugin=caching_sha2_password
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_general_ci
      - --explicit_defaults_for_timestamp=true
    volumes:
      - ./mysql:/var/lib/mysql
      - ./mysqlBackup:/data/mysqlBackup
    ports:
      - "3306:3306"
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
      interval: 3s
      retries: 5
      start_period: 30s
    environment:
      # 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值
      - MYSQL_ROOT_PASSWORD=??????
      - MYSQL_DATABASE=halo

networks:
  halo_network:

其中有4个??????作为占位符,需要自行替换。其中外部访问最好写域名

三、启动容器

1、开放端口

按照配置文件中需要放行的端口为:80,3306,8090

image-20240103154703504

后续https需要放行443,因此需要去服务器防火墙处检查有无开发这些端口

2、宝塔安装Docker和ngnix

image-20240103152013584

可以把Docker管理器放到首页方便管理,用SSH远程连接服务器查看docker和docker-compose版本

image-20240103152241799

3、启动容器

此时距离成功就差两步:

  1. 新建文件夹halo,放入docker-compose.yaml
  2. 切换到halo目录下,执行docker-compose up -d启动容器
  3. 下图是已经安装好了,那么执行步骤2就是更新配置中2.11版本最新的容器

image-20240103153100305

可以去宝塔首页查看容器有无启动,有无对外端口

image-20240103153843840

四、域名和CDN

1、宝塔面板新建网站

填写好备案的域名即可,这里的域名需要和docker-compose.yaml中外部访问的域名一致

image-20240103155540338

需要在服务器添加域名,并配置域名解析(切记服务器需要添加顶级域名)

image-20240103161525961

2、配置ngnix

1)端口改成实际端口

image-20240103155712511

location / {
  proxy_pass http://127.0.0.1:80??/;       # 注意改成你实际使用的端口
  rewrite ^/(.*)$ /$1 break;
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Upgrade-Insecure-Requests 1;
  proxy_set_header X-Forwarded-Proto https;
}

配置文件默认做了80转443,所以不需要我们额外的配置,以上配置可以参考官网文档。

2)SSL证书

直接使用泛域名证书即可

image-20240103161822062

在网站处可以查看自己证书啥时候过期,但宝塔有计划任务会自动续签。可以自行前往计划任务查看。

image-20240103161914995

3、访问页面

博客地址:配置文件中的外链:https://域名

后台地址:外链/console

博客首页:主题为Pix(付费)

image-20240103163346891

4、CDN配置(选)

可选操作,up使用的是又拍云cdn,可以加入又拍云联盟收取代金券

注意:大陆没有备案的域名是无法使用又拍云cdn的

核心步骤:

1)需要将上方服务器配置的域名解析的xxx的A换成CNAME,并且指向又拍云提供的地址

image-20240103162330236

2)源站这里填写的是公网IP

image-20240103162619697

3)开启https的话,这里的证书可以用腾讯云申请的免费一年的证书,这里开启强制HTTPS访问之后,上述ngnix配置SSL证书就不要强制访问了

image-20240103162727641

4)缓存控制中要设置参数跟随,否则会导致站点图片出不来

5)win+r输出cmd,然后ping xxx.xxx.xxx如果显示的是你的公网IP,那就说明cdn没有奏效

五、主题推荐

Pix(付费)

hao(免费)

六、注意事项

  1. 防火墙开放所需要的端口
  2. 申请的SSL证书用于cdn
  3. 泛域名证书腾讯云宝塔面板可以自动续,其他云服务厂商没测试过

4)缓存控制中要设置参数跟随,否则会导致站点图片出不来

5)win+r输出cmd,然后ping xxx.xxx.xxx如果显示的是你的公网IP,那就说明cdn没有奏效

五、主题推荐

Pix(付费)

hao(免费)

六、注意事项

  1. 防火墙开放所需要的端口
  2. 申请的SSL证书用于cdn
  3. 泛域名证书腾讯云宝塔面板可以自动续,其他云服务厂商没测试过
  • 38
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yovvis

buy me a coffee

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值