Halo 开发环境搭建
前言
最近几个月,之前基于 Halo 1.6 版本搭建的博客,频繁收到腾讯云的报警通知,被告知出现了资源访问异常,404。
最近闲暇之余逛了下自个的博客,也发现网站加载缓慢问题,f12一看,部分资源甚至加载了1分多钟,实在太影响体验了,优化,必须狠狠的优化!
上 halo官网 逛了下,发现版本都迭代到 v2.13 了,1.x 不再维护了。那我考虑了下,不如顺带升级halo最新版本,毕竟官网说优化了不少,指不定博客资源加载慢问题就解决了。
一波操作猛如虎,过了几个小时后,基于 halo 2.13 + theme-Joe3 主题的博客就搭建好了,网站访问速度已经恢复正常。一波体验下来,感觉Halo 2.x版本改变挺大的,特别是插拔式组件模式。
经了解,Halo是基于 Java 的开源项目,由 Gradle 管理依赖,Thymeleaf 作为默认模板引擎,插件是使用 Java 和 JavaScript / TypeScript 编写的,UI 使用 Vuejs 编写。乍眼一看,好像都了解过,那更值得抽空部署研究研究了,最终记录了这篇博文。
一、Halo 后端部署
-
OpenJDK 17 LTS:
https://download.oracle.com/java/17/archive/jdk-17.0.10_windows-x64_bin.zip
-
Node.js 18 LTS:
https://nodejs.org/dist/v18.9.1/node-v18.9.1-x64.msi
-
pnpm 8
npm install -g pnpm
-
Gradle 8.4:
https://gradle.org/next-steps/?version=8.4&format=all
1、安装 JDK 17
①、将资源解压到本机相关目录,以我本机举例:
②、配置环境变量
配置JAVA_HOME,方便后续修改路径。
在 Path 变量中添加一行。
③、测试验证
2、安装 Node.js 18
①、双击安装 .msi 安装程序包
双击运行后,程序会自动配置环境变量。
②、测试
3、安装pnpm 8
①、直接基于npm 安装最新的版本即可。
②、查看源
③、修改源为阿里源
4、安装 Gradle 8.4
①、将资源解压并放置对应目录,如
②、配置环境变量
Path下配置:
③、测试
④、配置下载源
由于Gradle自带Maven下载源是国外的,在后续下载依赖的过程中会比较慢。这里我们需要将下载源换成国内镜像。
init.d目录下新建 init.gradle 文件,并输入:
⑤、配置gradle资源仓库
新建文件夹,并配置进环境变量,作为gradle仓库。
5、启动后端项目
①、foke halo 代码至自己的仓库
②、使用idea拉取代码
③、暂停下载 gradle,配置自个的。
配置好后,让其下载项目依赖。
④、配置运行环境
⑤、配置开发参数
⑥、解决报错
点击Shorten the command line and rerun 即可。
后端项目启动成功:
6、启动前端项目
从 Halo 2.11 开始,Halo 项目的 console 目录同时包含了 Console(管理控制台)和 UC(个人中心)
①、进入项目目录
②、pnpm install
③、pnpm build:packages
④、pnpm dev
⑤、测试访问
- Console 控制台:http://localhost:8090/console
- UC 个人中心:http://localhost:8090/uc
二、Halo 插件部署
官方地址:https://docs.halo.run/developer-guide/plugin/introduction
1、fork 仓库
https://github.com/halo-dev/plugin-starter
到自己的仓库
https://github.com/CloudAdmirer/plugin-starter.git
2、修改配置文件
gradle-wrapper.properties、gradle.properties
D:\halo\plugin\plugin-starter\gradle\wrapper\gradle-wrapper.properties
3、修改jdk、gradle依赖
4、修改gradle.properties
D:\halo\plugin\plugin-starter\gradle.properties
如果不修改此项,指定jdk版本,可能出现
5、 ./gradlew.bat pnpmInstall
6、./gradlew.bat build
7、添加application-local.yaml
添加application-local.yaml
D:\demo\halo\application\src\main\resources\application-local.yaml
8、启动参数添加:
9、测试访问
访问地址:http://localhost:8090/console/example
三、Halo 主题部署
官方地址:https://docs.halo.run/developer-guide/theme/prepare
暂无实践部署经验,仅有拉取代码下来部署的经验。
bug记录:出现导入本地主题报错。
后端服务报错
去论坛查询得知:
评论区