你們好,我是尤娜博客(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
建議您使用下面推薦的環境與尤娜玩耍,以免版本不一致所帶來的困擾github
尤娜所使用的開發框架明細: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>