——是技术也是艺术html
你们好,我是尤娜博客(una-boot)的做者树下魅狐,自2019年9月una-boot-1.0.0版本开源以来,陆续有热爱技术,钟爱技术写做的小伙伴为尤娜提出了宝贵的改进意见和建议,在此表示衷心的感谢,谢谢你们的支持!java
尤娜(una-boot)是一款基于Spring Boot 2.0构建的国产Java博客系统,在此以前,我不断的尝试使用过不一样的博客系统,如基于PHP的WordPress、基于Node.js的静态博客系统Hexo、基于Java的CMS系统JEECMS和MCMS等,这些系统都有着不错的表现,可以知足绝大多数的需求场景。那问题来了,我为何还要重复性的造一个“轮子”呢?一个简单的比喻,前面提到的系统都很强大,有的像“卡车轮子”,有的像“坦克履带”,有的像“跑车轮子”,它们的性能,功能都很强大。然而,做为一个常常写博客文章的我,我如今须要的是小巧的“电摩轮子”。基于这样的一个需求,也参考了上述诸多优秀CMS系统的设计,站在“巨人”的肩膀上,完成了尤娜博客系统的设计和开发。git
尤娜的初衷是提供一个极简的内容创做平台,给热爱技术,热爱写做的小伙伴一个简洁,易用的写做软件。所以,尤娜博客系统在设计之初就只保留了一个博客网站最核心的几个功能模块,它们分别是栏目、文章、主题、友链、标签、归档、存储和评论,共计八个主要核心功能。为了尽量的下降尤娜的使用门槛,尤娜基于Freemarker模板引擎开发了一套内置的博客标签,经过使用这些标签,对于不能熟练使用Java编程语言的小伙伴,也能快速的构建出一套漂亮的博客主题。尤娜会自动根据各种标签加载对应的博客数据,完成主题的渲染。github
因为抗击疫情以及工做的缘由,原定于2020年1月份上线una-boot-1.2.0版本的计划推迟到了3月份。在una-boot-1.2.0版本中,新增了在线安装并初始化博客的功能,免去了部署系统是来回修改配置文件的复杂过程。在新版本中,尤娜使用了动态数据源切换技术,系统安装完成后,不须要再重启Apache Tomcat,尤娜会自动切换到博主指定的数据源上。接下来,我将简要介绍una-boot-1.2.0版本的大体状况。web
建议您使用下面推荐的环境与尤娜玩耍,以免版本不一致所带来的困扰spring
尤娜所使用的开发框架明细:数据库
框架 | 说明 | 官网 |
---|---|---|
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 |
你能够按照下列的方式来获取并运行尤娜博客系统。apache
你可使用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到本地运行。json
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管理
系统实时日志
数据源监控