Halo2.0安装以及出现问题的解决方式
站点是1.0的版本,2.0出了好久没有更新,这几天有时间就处理了一下,期间遇到了很莫名其妙的BUG,解决过程虽然曲折但也都找到了解决办法,这里分享一下,少走弯路吧!
版本说明
Halo:2.15
主题:Dream for Halo 2.x (主题很棒,很喜欢)
博主站点
应用市场
2.15后端代码
Dream for Halo 2.x主题
nineya主题作者
后端代码安装配置界面
主题界面展示
后台安装
根据官方的安装步骤进行,这里会省略创建目录等操作。
下载jar包
直接使用命令行下载到自己新建好的目录里
wget https://dl.halo.run/release/halo-2.15.0.jar -O halo-2.15.0.jar
application.yaml
文件配置
我是用的是mysql的配置,其他配置可以参考官方给出的配置参数
⚠️这里有一个要避坑的点,外部访问地址需要更改为自己配置的域名,不然点击头像会跳转为本地址。
之后可以在系统概览界面里看到外部访问地址
server:
# 运行端口
port: 8090
spring:
# 数据库配置,支持 MySQL、MariaDB、PostgreSQL、H2 Database,具体配置方式可以参考下面的数据库配置
# 这里数据库要提前建好,新建一个数据库就行。
r2dbc:
url: r2dbc:pool:mysql://localhost:3306/halo
username: demo
password: P@ssw0rd123..
sql:
init:
mode: always
# 需要配合 r2dbc 的配置进行改动
platform: mysql
halo:
caches:
page:
# 是否禁用页面缓存
disabled: true
# 工作目录位置
work-dir: ${user.home}/.halo2
# 外部访问地址
external-url: https://nanwish.love
# 附件映射配置,通常用于迁移场景
attachment:
resource-mappings:
- pathPattern: /upload/**
locations:
- migrate-from-1.x
运行Halo
这里要先进入jar包存放的目录,后面的配置文件路径一定要写上,不然自己的配置会不生效。
⚠️这里有一个要避坑的点,就是java版本一定要是17
java -jar halo-2.15.0.jar --spring.config.additional-location**=**optional:file:**\$HOME**/.halo2/
插件安装
基本的插件安装
应用市场
首先来到官方的应用市场,选择应用市场安装,这个插件可以将应用市场内嵌到管理后台里面,很方便
点击安装,输入自己的博客地址,可以直接跳转到自己的博客后台进行安装
数据迁移
因为是旧站点迁移过来的,所以这里要导入数据,Halo2.x提供了一个很好用的迁移插件
安装完成之后,要来到这里启用下这个插件
点击迁移,我之前是halo,所以这里点击halo,根据提示选择导出的json文件导入就可以了
新旧版本适配需要的插件
因为2.x将以前的功能拆分为了插件,所以运行起来之后要安装插件才可以保证正常使用,这里列举遇到的插件没安装正确出现的页面访问失败问题
图库不显示内容
安装图库插件
没有评论地址
安装评论组件
日志不显示
需要安装瞬间插件
友链页面不显示
安装连接管理插件
编辑文章问题
需要安装编辑插件,其它几个要么是有BUG,要么是显示不美观,反人性操作,这个用起来比较舒服,而且对之前的自定义页面里面的html代码支持很好
这个还支持一键复制文章到公众号,比着使用第三方编辑器重新搞,这个功能到心坎里去了
使用阿里云OSS存储
需要安装对象存储插件
显示之前在阿里云存放的资源
在附件,新建存储策略
选择新建,添加好后,刷新页面
搜索组件
首页搜索没有,需要安装搜索插件
搜索不出结果BUG解决方式
在后台管理界面,点击刷新搜索引擎,再去页面搜索就可以了。
RSS订阅
需要安装RSS插件
适配出现问题及解决方式
出现已删除用户的BUG
站点刚搭建好这里有可能会出现已删除用户,并且头像不显示
显示已删除用户解决办法
作者用户名要和这个id一样
头像不显示解决办法
上传新头像
配置好插件迁移内容不全面
这个可以在配置好插件之后,重新导入一下之前备份的文件,亲测有效
浏览文章阅读数量不变
安装好新版本之后,出现了浏览文章阅读数量不变化的问题,本来以为是延迟或者是显示策略问题,后来发现是因为缺少了一个js文件。
每次点击文章,都会请求这个 halo-tracker.js
文件,在控制台找到了报错,显示是一个js文件没有访问到,这里对标官网的演示站点,拿到 halo-tracker.js
文件,放到自己的nginx根目录中
https://demo.halo.run/halo-tracker.js
需要在你的nginx配置中增加,alias路径根据自己的实际路径配置
location ~/halo-tracker/ {
alias /nginx/html/;
}
常用功能设置
导航栏自定义图标设置
我是用的是 nineya
大佬的Dream主题,这个主题使用的是 remixicon
的图标
nineya大佬博客
remixicon图标
然后在图标网站找到自己中意的图标,点击图标,复制class后的标签内容
在后台管理中找到菜单,编辑需要添加自定义图标的菜单,新建元数据,填入相应的代码就可以了
侧边栏不显示的问题
没有默认显示的选项,需要手动去配置
推荐插件
通知我
根据简介配置推送通道,配置简单,上手很快。
我使用了微信推送,有新评论会及时微信通知,使用体验很棒。
OAuth2 认证
两步验证可以在输入账号密码后,需要提供一个6位数的验证码,使用通过后才可以进入控制台
在我的里面配置OAuth2认证,需要手机端有相应的软件,这里推荐Authenticator