Halo快速建立自己的网站

步骤简介

  • 云服务器
  • 安装docker & docker-compose
  • 购买域名 备案 域名&ip 绑定 配置SSL证书
  • 安装Halo
  • 配置nginx反向代理
  • 博客后台 主题

云服务器

  • 可以自己选择性购买阿里,腾讯或者华为以及其他厂家的云服务器,购买服务器会得到公网ip,用于自己的网站。云服务器的系统,我这里使用的是Ubuntu 22.04 64位

  • 安全组配置,放行必要的端口:80 443 两个端口是后续访问博客的端口

  • 防火墙放行端口:80 443

    Ubuntu 防火墙命令:

    ufw allow 80

    ufw allow 443

域名相关流程

看完43-50即可,跟着走,完成云服务器购买,域名购买,域名备案,证书配置以及nginx代理的学习线上实战-域名+证书

image-20231124134149315

安装docker & docker-compose

  • 选用宝塔进行便捷安装,选择自己系统下的命令进行宝塔的安装,傻瓜式安装。

​ 宝塔官网:[宝塔面板下载,免费全能的服务器运维软件 (bt.cn)](https://www.bt.cn/new/index.html)

宝塔Linux面板的安装配置以及基本使用教程(超详细)_宝塔linux面板官网安装什么系统-CSDN博客

image-20231124132525633

  • 安装完成,会出现下面界面则表示已经安装成功了,并且要记住宝塔内外网面板地址和账号密码,后面登录宝塔面板会用到。

image-20231124133624918

开放对应的宝塔需要外部访问的端口,图中是8888。和开放上面博客需要的80 443端口一样的操作,配置安全住规则和防火墙。

  • 在浏览器中输入外网面板地址,出现登录界面:
    • 输入上面的username 和 password登录面板

image-20231124133020695

在宝塔中完成docker和docker-compose的安装,第一次点击Docker,没有安装时会提示你安装,安装即可。

image-20231124133804549

安装Halo

Halo官网给出了几种安装方式,这里采用的是docker-compose。使用 Docker Compose 部署 | Halo 文档

  1. 在系统任意位置创建一个文件夹,此文档以 ~/halo 为例。之后的数据都在这个目录下。

    ​ mkdir ~/halo && cd ~/halo

  2. 创建 docker-compose.yaml

    ​ vim ocker-compose.yaml

  3. 使用的数据库是mysql,安装文档中的Halo + MySQL 的实例对应的yml文件:

    自行修改数据库的用户和密码

    注意:放到上面创建的halo文件夹下

    version: "3"
    
    services:
      halo:
        image: halohub/halo:2.10
        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=root
          # MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
          - --spring.r2dbc.password=o#DwN&JSa56
          - --spring.sql.init.platform=mysql
          # 外部访问地址,请根据实际需要修改
          - --halo.external-url=http://localhost:8090/
    
      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=o#DwN&JSa56
          - MYSQL_DATABASE=halo
    
    networks:
      halo_network:
    
    
  4. 启动 Halo 服务

    docker-compose up -d		
    
  5. 用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。

​ 如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 http://ip:端口号 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。

配置nginx反向代理

安装网课中的下载好SSL证书

image-20231124135636148

新建一个文件,注意路径

image-20231124135711189

该文件中加入代理配置,对外只开放443 80 端口,80端口的访问也会转发到443端口。

server {
    listen 443 ssl;
    server_name zgtsky.top;
    root /var/www/html;
    index index.html index.htm;
    ssl_certificate  cert/www.zgtsky.top.pem;
    ssl_certificate_key cert/www.zgtsky.top.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
		index index.html index.htm;
		proxy_pass  http://127.0.0.1:8090;
	}
}
server {
    listen 80;
    server_name zgtsky.top;
    rewrite ^(.*)$ https://zgtsky.top;
}

在nginx.conf中导入这个配置文件即可

image-20231124135840709

更改了配置文件之后重新载入配置文件

nginx -s reload

登录博客后台

https://zgtsky.top/console/ 初次登录会让你建立账号和密码,后续这个就是超级管理员的账号。

image-20231124141024020

进入后台

image-20231124140426229

配置主题

在应用市场内选择喜欢的主题进行安装

image-20231124140455289

安装完成后,在主题中进行启用,后面对博客的访问就会呈现这个主题。

image-20231124140551273

我的主题

image-20231124140656048

image-20231124140716606

大功告成

其他的配置,可以跟着官方文档进行操作。
文章作者: JAT
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Strive
默认分类 建站
喜欢就支持一下吧