基于Halo搭建个人网站

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 基于Halo搭建个人网站

前言


为了更好的阅读体验,你可以直接滑到最下方,点击阅读原文进行查看。


最近花了点时间基于Halo把自己的网站改造了下,实现了站内的文章阅读、点赞、评论、留言板等功能,本文就跟大家介绍并分享下我改造后的网站[1],欢迎各位感兴趣的开发者阅读本文。


环境搭建


Halo[2]是一款现代化的开源博客/CMS系统,官网[3]列举了详细的环境搭建教程[4],按着官网给出的教程一步步往下走,即可完成安装,过程很顺利,此处不做过多赘述。


对我改造好的网站比较感兴趣的开发者,请移步:在线地址[5]


自定义数据库


如果你有一定的Java/SpringBoot/Gradle基础,希望对搭建好的环境进行更深层次的定制,你可以继续阅读本章节,否则跳过即可。


Halo默认采用H2作为数据库,因为我本地装有MySQL,为了方便管理,我决定把它改掉,在文档的数据库章节[6]提供了配置方案,我们需要将Halo的源码[7]clone到本地,打开application.yaml文件,删除H2相关的配置,加入如下所示的配置:


spring:
  datasource:
   # MySQL database configuration.
    driver-class-name: com.mysql.cj.jdbc.Driver
    # 修改成你的数据库地址
    url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    # 数据库的用户名与密码
    username: root
    password: 123456


注意:halo目前只支持mysql且版本必须大于等于5.7。


自定义缓存


本章节也需要你有一定的Java/SpringBoot/Gradle基础,否则跳过即可。


Halo的默认缓存策略是到内存中的,它支持redis缓存方式,我本地装有redis,因此也一并修改了,在文档的缓存章节[8]提供了配置方案,打开application.yaml文件,修改cache字段值为redis,并加入redis的连接配置,如下所示:


spring:
  redis:
    # redis端口号
    port: 6379
    database: 0
    # redis地址
    host: 127.0.0.1
    # redis密码
    password: 123456
halo:
 cache: redis


编译项目


做完上述修改后,我们需要对项目进行编译(注意你的jdk版本必须大于等于11),打开idea中的Gradle面板,执行build命令的jar即可。


640.png

                    image-20220506000934441


编译过程中可能会看到一些test的报错,它不影响最终打包结果,可以忽略不计,打包成功后,在项目的build/libs目录下即可看到打包出来的文件。


640.png

                              image-20220506001324907


最后,拿着打包出来的去运行即可(同样的,运行环境的jdk>=11)。


选择主题


环境搭建完毕后,在浏览器输入http://127.0.0.1:8090即可看到初始化界面了,

根据页面提示一步步的往下进行即可。


由于默认界面是比较丑的,halo提供了主题仓库[9],里面有许多第三方主题,可以挑选一个好看的进行改造,我挑选的是Joe 2.0主题[10],基于它进行了改造,在线地址[11],最终效果如下所示:


640.png



注意:如果的halo是自己编译的,在管理后台安装第三方主题时,可能会出现报错:当前主题仅支持 Halo ^1.x.xx 及以上的版本,求助这个主题的作者后,他说这个校验逻辑在后端,只能通过手动下载Release[12] 页面的主题包,手动解压上传到halo安装目录的/templates/themes/目录下,并将文件夹命名为joe2.0。

640.png

                                  image-20220506003306253

最后,在后台管理界面启用主题即可。

640.png

                                image-20220506003442183


GPU占用严重问题


如果你使用的是Joe 2.0主题,在浏览器打开你的网站超过5分钟,你的电脑风扇会狂响,cpu温度持续升高。

640.png

                                image-20220506003957266


640.png

                            image-20220506004108767


经过一番排查后,终于定位到了问题:人生倒计时插件的锅,可能这里的代码写的不好,造成了大量运算,在网站管理后台的主题 -> 主题设置 -> 侧边栏 展示人生倒计时,将其关掉即可。

640.png

                                     image-20220506004444333


改造后的网站


接下来,跟大家介绍下我的个人网站[13]中都有哪些内容。


首页


首页有4个模块,如下所示:


640.png


  • 轮播图区域:此处会按时间循环展示我最新发表的5篇文章
  • 侧边栏区域:展示我的头像、昵称、专栏数、文章数、社交平台等信息
  • 推荐专栏区域:会按照专栏的点击量来展示6个热度最高的专栏
  • 文章列表区域:包含最新文章、热门文章、最近更新、最多点赞四个分类,默认展示最新文章


动态


此处将分享一些我的日常生活状态、一些简短的想法等内容🤗


640.png

                                   image-20220506005503508

文章


此处将以时间轴的形式展示我所发布过的文章。


640.png

                               image-20220506005610659


专栏


此处将展示我创建的所有专栏(即:文章分类)。


640.png


标签


此处将展示文章发布时所创建的标签。


640.png

                           image-20220506010006880


留言板


如果有想对我说的话,欢迎在此留言🤓

640.png

                                   image-20220506010200337


关于我


此处将展示一些我的个人介绍。


640.png

                              image-20220506011426299


写在最后


至此,文章就分享完毕了。


我是神奇的程序员,一位前端开发工程师。


如果你对我感兴趣,请移步我的个人网站[14],进一步了解。

  • 文中如有错误,欢迎在评论区指正,如果这篇文章帮到了你,欢迎点赞和关注😊
  • 文中链接可从文末参考资料中获取

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
关系型数据库 MySQL 应用服务中间件
使用 WordPress搭建个人博客
快速搭建LNMP环境,下载lnmp2.0并安装,随后配置Nginx,设置网站根目录为/home/wwwroot/default。若绑定域名,可获取Cloudflare SSL证书,更新nginx配置启用SSL。接着,安装WordPress到/home/wwwroot,创建MySQL数据库,配置远程访问(如果需要),修改Nginx配置指向WordPress目录,调整权限后通过[ip/wp-admin/setup-config.php](http://ip/wp-admin/setup-config.php)启动安装。
89 7
|
7月前
|
域名解析 网络协议 网络安全
WordPress搭建个人博客
这篇文章将手把手地指导你如何快速完成WordPress的搭建。你可以利用WordPress搭建个人博客,甚至企业官方网站。只要你跟着本文的步骤走,即使小白也能轻松搞定WordPress网站搭建。首选你需要购买一个vps,并将你的域名解析到vps;然后连接你的VPS,在vps上执行命令一键安装WordPress;再接下来就是初始化你的WordPress了,安装Argon模板、安装RankMath SEO插件、安装webp图片速度优化插件
503 2
WordPress搭建个人博客
|
NoSQL Redis
个人博客 网站部署
个人博客 网站部署
77 0
|
弹性计算 关系型数据库 MySQL
使用 WordPress 搭建个人网站 | 学习笔记
快速学习 使用 WordPress 搭建个人网站
285 0
使用 WordPress 搭建个人网站 | 学习笔记
|
Docker 容器
试用阿里云搭建halo博客
借助docker和docker-compose搭建halo博客
481 0
试用阿里云搭建halo博客
|
Shell 数据库 数据安全/隐私保护
|
域名解析 Linux 网络安全
halo个人博客搭建
最近空闲逛社区看文档,发掘一个大佬的博客页面风格是我的理想型,于是我就在他的博客里疯狂研究,寻找线索,后来通过评论向大佬提问,最终在GitHub上找到了我钟爱的风格。于是我豪掷千金(ps:新人特惠自己猜money)买下云服务器,搭建了一个Halo博客系统,现将搭建过程记录一下。
383 0
|
SQL 弹性计算 安全
买了服务器不知道干什么?从头跟着阿里云教程搭建一个wordpress个人博客吧!
买了服务器不知道干什么?从头跟着阿里云教程搭建一个wordpress个人博客吧! 遇到了两个教程没说的问题,解决啦
201 0
|
前端开发 关系型数据库 MySQL
使用WordPress搭建个人网站(文末福利)
前几天阿里云的低价的99元/年云服务器,你是不是已经购买了,很多人购买了,不知道有没有用上呢,今天专门写篇关于WordPress搭建网站的博客,希望能帮助到你!如果你还是阿里云的新手用户,强烈建议您趁这个活动还没结束的时候购买一个,这个可以说是相当的优惠了!平时如果购买都是几百元一年的,想购买的可以点击传送门活动链接,可以走我的购买链接,我可以增加一个月的使用时间,在这里非常感谢那些老铁们!
208 0
使用WordPress搭建个人网站(文末福利)
|
存储 弹性计算 运维
阿里云服务器搭建halo博客从0到1
可能网络上已经有很多关于wordpress的建站教程,但是关于halo却很少,本文将从阿里云服务器购买(试用)到搭建一个属于开发者自己的开源博客系统,带你从0到1了解认识阿里云ECS搭建博客网站。