1 安装halo
1.1 切换到超级用户
sudo -i
1.2 新建halo文件夹
mkdir ~/halo && cd ~/halo
1.3 编辑docker-compose.yml文件
vim ~/halo/docker-compose.yml
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=qazwsx06210930
- --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"
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=qazwsx06210930
- MYSQL_DATABASE=halo
networks:
halo_network:
注意:
1.修改域名:
docker-compose.yml里面的
–halo.external-url=http://localhost:8090/改为–halo.external-url=https://域名(手动修改)
3.数据库端口原文档为”3306:3306″,上方docker-compose.yml为”3306″,作用是不开放公网访问数据库(安全安全安全)
1.4 启动halo服务
docker-compose up -d
1.5.实时查看日志
docker-compose logs -f
2 配置反向代理
2.1 安装Nginx Proxy Manager
mkdir -p ~/data/docker_data/nginxproxymanager # 创建一个 npm 的文件夹
cd ~/data/docker_data/nginxproxymanager # 进入该文件夹
vi docker-compose.yml
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 保持默认即可,不建议修改左侧的80
- '81:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 保持默认即可,不建议修改左侧的443
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
在英文输入法下,按一下Esc键 ,然后 输入 :wq,按以下enter键,保存yml文件
2.2 启动Nginx Proxy Manager
docker-compose up -d
2.3 登录Nginx Proxy Manager
启动成功,使用http://ip:81访问
2.4 设置反向代理
-
Domain Names
:填我们 Halo 网站的域名,首先记得做好 DNS 解析,把域名绑定到我们的服务器的 IP 上 -
Forward Hostname/IP
:填入服务器的 IP,或者 Docker 容器内部的 IP(如果 NPM 和 Halo 搭建在同一台服务器上的话)
注:此解释摘抄于此halo文档
ip addr show docker0
2.5 申请SSL证书
反向代理配置完成
3 halo使用教程
3.1 初始化halo
输入网址:https://域名/console,跳转到初始化界面
设置站点名称,邮箱,账户密码,以后都是通过这个账户密码进入后台管理博客
点击初始化按钮后,等待初始化完成,刷新后出现以下界面,即代表初始化完成
点击左上角,即可跳转到博客前台,这是halo博客的默认主题:theme-earth
3.2 安装主题
1.应用市场:halo提供安装主题功能,可以安装自己喜欢的主题
4 主题推荐
4.1 极简主题
Butterfly主题
这是我之前用过的一款比较好看的hexo主题,没有想到有大佬移植到halo,在hexo中,配置主题是一个非常耗时间的工作,迁移到halo后,只需要在后台管理配置即可
jeo 3.0主题
4.2 多彩主题
Hao主题
这款主题功能也非常丰富,相对比之下我更喜欢简洁一点的风格
总结:想要简洁方便选择butterfly,想要界面简洁功能多选择jeo 3.0,想要体验win11风格,功能丰富选Hao
原文地址:https://blog.csdn.net/qq_30948207/article/details/134563394
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_7545.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!