Halo快速建站
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代理的学习
线上实战-域名+证书
安装docker & docker-compose
- 选用宝塔进行便捷安装,选择自己系统下的命令进行宝塔的安装,傻瓜式安装。
宝塔官网:[宝塔面板下载,免费全能的服务器运维软件 (bt.cn)](https://www.bt.cn/new/index.html)
宝塔Linux面板的安装配置以及基本使用教程(超详细)_宝塔linux面板官网安装什么系统-CSDN博客
- 安装完成,会出现下面界面则表示已经安装成功了,并且要记住宝塔内外网面板地址和账号密码,后面登录宝塔面板会用到。
开放对应的宝塔需要外部访问的端口,图中是8888。和开放上面博客需要的80 443端口一样的操作,配置安全住规则和防火墙。
- 在浏览器中输入外网面板地址,出现登录界面:
- 输入上面的username 和 password登录面板
在宝塔中完成docker和docker-compose的安装,第一次点击Docker,没有安装时会提示你安装,安装即可。
安装Halo
Halo官网给出了几种安装方式,这里采用的是docker-compose。使用 Docker Compose 部署 | Halo 文档
-
在系统任意位置创建一个文件夹,此文档以
~/halo
为例。之后的数据都在这个目录下。 mkdir ~/halo && cd ~/halo
-
创建
docker-compose.yaml
vim ocker-compose.yaml
-
使用的数据库是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:
-
启动 Halo 服务
docker-compose up -d
-
用浏览器访问 /console 即可进入 Halo 管理页面,首次启动会进入初始化页面。
如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 http://ip:端口号
的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。
配置nginx反向代理
安装网课中的下载好SSL证书
新建一个文件,注意路径
该文件中加入代理配置,对外只开放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中导入这个配置文件即可
更改了配置文件之后重新载入配置文件
nginx -s reload
登录博客后台
https://zgtsky.top/console/ 初次登录会让你建立账号和密码,后续这个就是超级管理员的账号。
进入后台
配置主题
在应用市场内选择喜欢的主题进行安装
安装完成后,在主题中进行启用,后面对博客的访问就会呈现这个主题。