尤娜博客系統新的征程(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系統的設計,站在「巨人」的肩膀上,完成了尤娜博客系統的設計和開發。html

​ 尤娜的初衷是提供一個極簡的內容創做平臺,給熱愛技術,熱愛寫做的小夥伴一個簡潔,易用的寫做軟件。所以,尤娜博客系統在設計之初就只保留了一個博客網站最核心的幾個功能模塊,它們分別是欄目、文章、主題、友鏈、標籤、歸檔、存儲和評論,共計八個主要核心功能。爲了儘量的下降尤娜的使用門檻,尤娜基於Freemarker模板引擎開發了一套內置的博客標籤,經過使用這些標籤,對於不能熟練使用Java編程語言的小夥伴,也能快速的構建出一套漂亮的博客主題。尤娜會自動根據各種標籤加載對應的博客數據,完成主題的渲染。java

​ 因爲抗擊疫情以及工做的緣由,原定於2020年1月份上線una-boot-1.2.0版本的計劃推遲到了3月份。在una-boot-1.2.0版本中,新增了在線安裝並初始化博客的功能,免去了部署系統是來回修改配置文件的複雜過程。在新版本中,尤娜使用了動態數據源切換技術,系統安裝完成後,不須要再重啓Apache Tomcat,尤娜會自動切換到博主指定的數據源上。接下來,我將簡要介紹una-boot-1.2.0版本的大體狀況。git

主要特色

  • 徹底開源:基於AGPL-3.0協議開源
  • 快速初始化:經過安裝嚮導,快速完成站點初始化工做
  • 標籤化建站:尤娜內置了內容標籤和內容函數,能夠快速的完成模板的製做
  • 多主題:支持多個主題自由切換,快速改變站點風格,而不需從新編譯後臺代碼
  • Markdown支持: 內置markdown編輯器
  • 文件存儲:支持本地存儲和CDN存儲
  • 評論支持:內置了Gitalk評論函數,只需設置相關的Gitalk參數便可擁有評論功能
  • Spring Boot: 基於Spring Boot 2.0版本進行構建

開發環境

​ 建議您使用下面推薦的環境與尤娜玩耍,以免版本不一致所帶來的困擾github

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

技術框架

尤娜所使用的開發框架明細:web

框架 說明 官網
Spring Framework 輕量級(相對而言)的Java開發框架 https://spring.io/projects/sp...
Spring Boot Java Web開發腳手架 https://spring.io/projects/sp...
Apache Shiro 安全控制框架 https://shiro.apache.org
Hibernate 對象關係映射框架 http://hibernate.org
Freemarker 視圖模板引擎 https://freemarker.apache.org
Log4J 日誌記錄組件 https://logging.apache.org
Druid 數據庫連接池 https://druid.apache.org
FastJSON JSON解析庫 FastJson
EhCache 基於Java的進程內緩存框架 http://www.ehcache.org
pinyin4j 中文轉拼音的Java庫 https://sourceforge.net/proje...
Maven 項目構建 https://maven.apache.org
lombok 代碼生成器 https://projectlombok.org

快速開始

​ 你能夠按照下列的方式來獲取並運行尤娜博客系統。spring

獲取源代碼

​ 你可使用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/U...://github.com/ramostear/UnaBoot-Pro/releases/tag/una-boot-v1.2.0 下載最新的war到本地運行。apache

<p style="text-align:center;">Gitee下載</p>編程

<p style="text-align:center;">Github下載</p>json

編譯源代碼

​ 若是你是直接下載項目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及以上的版本中運行

<p style="text-align:center;">拷貝war文件到tomcat</p>

<p style="text-align:center;">啓動Apache Tomcat</p>

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。

尤娜博客後臺管理系統一覽

​ 在此小結中,我將對尤娜博客後臺管理系統作一個簡要的介紹。

後臺主頁

​ 博客後臺主頁不要包括了經常使用功能的快捷入口,如文檔地址,接口地址,寫做入口,欄目管理入口,網站設置入口,主題管理入口,全文檢索設置按鈕,緩存清理按鈕等。界面以下:

尤娜後臺管理系統將功能分爲了三個板塊,分別時內容管理,配置管理和系統管理,下面將分別介紹。

內容管理

​ 內容管理板塊包含了用戶管理,欄目管理,博客管理,主題管理,友鏈管理和標籤管理,其相應的界面以下:

<p style="text-align:center;">用戶管理</p>

<p style="text-align:center;">欄目管理</p>

<p style="text-align:center;">博客管理</p>

<p style="text-align:center;">寫做頁面</p>

<p style="text-align:center;">主題管理</p>

<p style="text-align:center;">友情鏈接管理</p>

<p style="text-align:center;">標籤管理</p>

配置管理

​ 配置管理板塊主要包括網站常規配置(如站點名稱,域名,描述,關鍵詞,Logo,Favicon,郵箱,備案號,主題等),存儲配置(分爲本地存儲或七牛雲存儲),評論配置(關閉評論或開啓Gitalk評論插件)。

<p style="text-align:center;">網站常規配置</p>

<p style="text-align:center">文件存儲配置</p>

<p style="text-align:center">Gitalk評論插件配置</p>

系統管理

​ 系統管理主要時針對尤娜博客的系統級別的管理,包括定時任務管理,API管理,系統實時日誌管理和Druid監控。

<p style="text-align:center;">自定義定時任務管理</p>

<p style="text-align:center;">基於Swagger的API管理</p>

<p style="text-align:center;">系統實時日誌</p>

<p style="text-align:center;">數據源監控</p>

相關文章
相關標籤/搜索