阅读 21

尤娜博客系统新的征程(una-boot-1.2.0已上线)

尤娜博客系统新的征程(una-boot-1.2.0已上线)

——是技术也是艺术

GitHub license


大家好,我是尤娜博客(una-boot)的作者树下魅狐,自2019年9月una-boot-1.0.0版本开源以来,陆续有热爱技术,钟爱技术写作的小伙伴为尤娜提出了宝贵的改进意见和建议,在此表示衷心的感谢,谢谢大家的支持!

简介

​ 尤娜(una-boot)是一款基于Spring Boot 2.0构建的国产Java博客系统,在此之前,我不断的尝试使用过不同的博客系统,如基于PHP的WordPress、基于Node.js的静态博客系统Hexo、基于Java的CMS系统JEECMS和MCMS等,这些系统都有着不错的表现,能够满足绝大多数的需求场景。那问题来了,我为什么还要重复性的造一个“轮子”呢?一个简单的比喻,前面提到的系统都很强大,有的像“卡车轮子”,有的像“坦克履带”,有的像“跑车轮子”,它们的性能,功能都很强大。然而,作为一个经常写博客文章的我,我现在需要的是小巧的“电摩轮子”。基于这样的一个需求,也参考了上述诸多优秀CMS系统的设计,站在“巨人”的肩膀上,完成了尤娜博客系统的设计和开发。

​ 尤娜的初衷是提供一个极简的内容创作平台,给热爱技术,热爱写作的小伙伴一个简洁,易用的写作软件。因此,尤娜博客系统在设计之初就只保留了一个博客网站最核心的几个功能模块,它们分别是栏目、文章、主题、友链、标签、归档、存储和评论,共计八个主要核心功能。为了尽可能的降低尤娜的使用门槛,尤娜基于Freemarker模板引擎开发了一套内置的博客标签,通过使用这些标签,对于不能熟练使用Java编程语言的小伙伴,也能快速的构建出一套漂亮的博客主题。尤娜会自动根据各类标签加载对应的博客数据,完成主题的渲染。

​ 由于抗击疫情以及工作的原因,原定于2020年1月份上线una-boot-1.2.0版本的计划推迟到了3月份。在una-boot-1.2.0版本中,新增了在线安装并初始化博客的功能,免去了部署系统是来回修改配置文件的复杂过程。在新版本中,尤娜使用了动态数据源切换技术,系统安装完成后,不需要再重启Apache Tomcat,尤娜会自动切换到博主指定的数据源上。接下来,我将简要介绍una-boot-1.2.0版本的大致情况。

主要特点

  • 完全开源:基于AGPL-3.0协议开源
  • 快速初始化:通过安装向导,快速完成站点初始化工作
  • 标签化建站:尤娜内置了内容标签和内容函数,可以快速的完成模板的制作
  • 多主题:支持多个主题自由切换,快速改变站点风格,而不需重新编译后台代码
  • Markdown支持: 内置markdown编辑器
  • 文件存储:支持本地存储和CDN存储
  • 评论支持:内置了Gitalk评论函数,只需设置相关的Gitalk参数即可拥有评论功能
  • Spring Boot: 基于Spring Boot 2.0版本进行构建

开发环境

​ 建议您使用下面推荐的环境与尤娜玩耍,以避免版本不一致所带来的困扰

  • OS: Windows 7/10,Linux
  • IDE: Eclipse,IntelliJ IDEA(推荐)
  • DB:MySQL 5.6+
  • JDK: JDK8+
  • Web Server: Apache Tomcat 8+
  • Maven: Maven 3.0+

技术框架

尤娜所使用的开发框架明细:

框架 说明 官网
Spring Framework 轻量级(相对而言)的Java开发框架 spring.io/projects/sp…
Spring Boot Java Web开发脚手架 spring.io/projects/sp…
Apache Shiro 安全控制框架 shiro.apache.org
Hibernate 对象关系映射框架 hibernate.org
Freemarker 视图模板引擎 freemarker.apache.org
Log4J 日志记录组件 logging.apache.org
Druid 数据库链接池 druid.apache.org
FastJSON JSON解析库 FastJson
EhCache 基于Java的进程内缓存框架 www.ehcache.org
pinyin4j 中文转拼音的Java库 sourceforge.net/projects/pi…
Maven 项目构建 maven.apache.org
lombok 代码生成器 projectlombok.org

快速开始

​ 你可以按照下列的方式来获取并运行尤娜博客系统。

获取源代码

​ 你可以使用git工具从Github或者Gitee上获取尤娜博客最新的源代码:

git clone https://github.com/ramostear/UnaBoot-Pro.git
复制代码
git clone https://gitee.com/ramostear/UnaBoot-Pro.git
复制代码

除此之外,我还提供了可在Tomcat中运行的war包,你可以访问https://gitee.com/ramostear/UnaBoot-Pro/releases/una-boot-v1.2.0或者https://github.com/ramostear/UnaBoot-Pro/releases/tag/una-boot-v1.2.0 下载最新的war到本地运行。

Gitee下载

Github下载

编译源代码

​ 如果你是直接下载项目war包,请跳过此步骤。代码克隆到本地后,你可以使用命令行工具或者IDEA对项目源码进行编译,命令如下:

mvn compile -Dmaven.test.skip=true
复制代码

待项目编译完成后,便可执行打包操作。

注意:

如果使用IDE自带的Maven工具对项目进行编译时,请检查你的IDE是否安装了Lombok插件,如果缺少Lombok插件,项目编译将会失败。

项目打包

​ 项目编译完成后,需要对项目进行打包才能运行,如果你使用的是IntelliJ IDEA或者STS等工具,可以直接运行UnaBootProApplication.java文件中的main()方法来启动项目。如果你想将项目放到外部的Tomcat中运行,请参照下面的打包命令:

mvn clean package -Dmaven.test.skip=true
复制代码

打包成功后,你可以在项目的target目录中找到一份名为una-boot-pro-1.2.0.war的文件包,此文件就是运行项目的最终文件。

启动项目

​ 将打包好的或者下载的una-boot-pro-1.2.0.war文件拷贝到Apache Tomcat安装目录下的webapps目录中,然后启动Apache Tomcat。

注意:

尤娜博客系统需要在Apache Tomcat 8及以上的版本中运行

拷贝war文件到tomcat

启动Apache Tomcat

Apache Tomcat启动完成后,在浏览器中按照下列的格式输入访问地址并访问

http://[localhost|127.0.0.1]:[8080/你自己的tomcat端口号]/una-boot-pro-1.2.0/unaboot/install.html
复制代码

提示

如果是第一次启动并访问尤娜博客系统,请在MySQL数据库管理系统中创建一个空的数据库,该数据库在的名称在初始化博客时需要使用。如本次演示所使用的db_una_boot_pro_demo.

安装并初始化尤娜

安装向导

​ 以我在本地演示为例,浏览器中输入http://localhost:8080/una-boot-pro-1.2.0/unaboot/install.html ,访问成功后,你将看到入下的安装向导界面:

请阅读UnaBoot的许可协议,并勾选同意按钮后,点击“下一步”按钮,填写数据库相关的信息。

数据库信息

​ 阅读完许可协议并同意后,你可进入数据库配置界面。在此界面中,你需要提供MySQL数据的主机地址(例如localhost或127.0.0.1),数据库的端口号(默认端口号为3306),存储尤娜博客数据的数据库名称(例如在上一步中创建的db_una_boot_pro_demo数据库),数据库的访问账号以及访问密码。

网站信息

​ 在完成数据库配置后,你可以进入站点信息配置界面,配置站点的名称,站点域名,管理员账号以及管理员登录密码,界面如下:

信息确认无误后,点击“确认”按钮,开始初始化博客系统。

提示

请牢记你的站点管理员账号和密码

系统初始化成功后,你将收到如下的系统提示信息:

点击“确定”按钮,系统将跳转到后台登录页面,输入此前配置的管理员账号和密码,登录系统后台。

自此,整个博客的初始化工作完成。接下来,你可以使用自己的管理员账号和密码登录尤娜博客后台,对博客系统进行管理。

重要提示

如果你在安装初始化的过程中,没能成功初始化系统,请检查war包中的WEB-INF/lib/目录下有无ibatis-common-2.2.0.jar文件,如果没有,请将WEB-INF/lib-provided/目录下的ibatis-common-2.2.0.jar文件拷贝到WEB-INF/lib/目录中,然后重启Apache Tomcat。

尤娜博客后台管理系统一览

​ 在此小结中,我将对尤娜博客后台管理系统做一个简要的介绍。

后台主页

​ 博客后台主页不要包括了常用功能的快捷入口,如文档地址,接口地址,写作入口,栏目管理入口,网站设置入口,主题管理入口,全文检索设置按钮,缓存清理按钮等。界面如下:

尤娜后台管理系统将功能分为了三个板块,分别时内容管理,配置管理和系统管理,下面将分别介绍。

内容管理

​ 内容管理板块包含了用户管理,栏目管理,博客管理,主题管理,友链管理和标签管理,其相应的界面如下:

用户管理

栏目管理

博客管理

写作页面

主题管理

友情连接管理

标签管理

配置管理

​ 配置管理板块主要包括网站常规配置(如站点名称,域名,描述,关键词,Logo,Favicon,邮箱,备案号,主题等),存储配置(分为本地存储或七牛云存储),评论配置(关闭评论或开启Gitalk评论插件)。

网站常规配置

文件存储配置

Gitalk评论插件配置

系统管理

​ 系统管理主要时针对尤娜博客的系统级别的管理,包括定时任务管理,API管理,系统实时日志管理和Druid监控。

自定义定时任务管理

基于Swagger的API管理

系统实时日志

数据源监控

关注下面的标签,发现更多相似文章
评论