簡介
Solo是一個(gè)可以用命令制作的Java開源博客系統(tǒng),內(nèi)置了15套精心制作的皮膚。
除此之外,Solo 還有著非?;钴S的社區(qū),文章分享到社區(qū)后可以讓很多人看到,產(chǎn)生豐富的交流互動(dòng)。Solo 的第一個(gè)版本發(fā)布于 2010 年,至今已經(jīng)非常成熟穩(wěn)定,請放心使用
功能
Solo 沉淀至今的每一個(gè)功能你應(yīng)該都會用到。我們不會將只有“20%”用戶使用的功能添加進(jìn)來,只有這樣才能保持博客系統(tǒng)本該有的純凈,足夠輕量才能帶來簡約的使用體驗(yàn)。
markdown / Emoji
聚合分類 / 標(biāo)簽
自定義導(dǎo)航(頁面、鏈接)
草稿夾
評論/回復(fù)郵件提醒
隨機(jī)文章 / 相關(guān)文章 / 置頂 / 更新提醒
自定義文章永久鏈接
自定義站點(diǎn) SEO 參數(shù)
自定義公告 / 頁腳
多個(gè)簽名檔
代碼高亮
多皮膚,多端適配 / 社區(qū)皮膚
多語言 / 國際化
上傳七牛云
友情鏈接管理
多用戶寫作,團(tuán)隊(duì)博客
SQL 文件導(dǎo)出
Hexo/Jekyll 導(dǎo)入
插件系統(tǒng)
Atom / RSS 訂閱
Sitemap
MetaWeblog API
CDN 靜態(tài)資源分離
如果有新版可用,升級過程也是非常簡單的,只需要重新部署新版本就可以,不用運(yùn)行額外的任何腳本。
然后就讓我們來看看怎么安裝、配置、備份以及常見問題吧!
獲取項(xiàng)目源碼,項(xiàng)目講解,知識點(diǎn)分享,學(xué)習(xí)交流,那就加入小編的Java學(xué)習(xí)交流群吧!
616 959 444
安裝
安裝前先準(zhǔn)備好 Java 環(huán)境,請使用 JDK8 或以上版本。Solo 提供了兩種部署模式,分別是獨(dú)立模式和容器模式。數(shù)據(jù)庫默認(rèn)是使用內(nèi)嵌的 H2 數(shù)據(jù)庫,也支持 MySQL,稍后會詳細(xì)介紹。
對于系統(tǒng)內(nèi)存要求,最低 512M,推薦 1G。
獨(dú)立模式,JDK 環(huán)境準(zhǔn)備好之后下載最新的 Solo 包解壓,進(jìn)入解壓目錄執(zhí)行!
獨(dú)立模式使用內(nèi)嵌的 Jetty 容器進(jìn)行部署,解壓 war 包后僅需要一個(gè)命令就能啟動(dòng):
Windows: java -cp WEB-INF/lib/*;WEB-INF/classes org.b3log.
Unix-like: java -cp WEB-INF/lib/*:WEB-INF/classes org.b3log.
注意:上面的命令都是前臺運(yùn)行的,退出 shell 后會被終止。比如 Linux 上不中斷運(yùn)行需要使用 nohup。
容器模式
使用 Jetty 或者 Tomcat(版本要求至少 9)進(jìn)行部署,將 war 包放到容器的 webapps 目錄下即可。
獨(dú)立 vs 容器
兩種模式各有千秋:
獨(dú)立模式:一個(gè)命令就能啟動(dòng),如果你對 Java Web 不太熟悉,建議使用該方式
容器模式:可以和已有的程序一起部署在同一個(gè)容器中,這樣可以節(jié)省內(nèi)存
細(xì)節(jié)配置
主要的配置文件有兩個(gè),它們都存放在 WEB-INF/classes 目錄下。
la:用于配置域名和端口,請配置為瀏覽器訪問時(shí)候的域名和端口
local.properties:用于配置數(shù)據(jù)庫,要切換為 MySQL 的話請?jiān)谶@里配置
皮膚
下載的 war 包中自帶了所有官方皮膚,如果你是自己拉源碼構(gòu)建的,可以到這里下載皮膚。
皮膚放到 skins 目錄下后重啟服務(wù),在工具 -> 偏好設(shè)定 -> 皮膚中選擇使用即可。
NGINX 示例
相應(yīng)的 la 配置:
初始化后
初始化成功后強(qiáng)烈建議到管理后臺 -> 工具 -> 偏好設(shè)定中進(jìn)行一下配置。
信息配置
博客基本信息:標(biāo)題、子標(biāo)題、SEO 信息
HTML head:可以配置腳本,比如百度統(tǒng)計(jì)
公告:可以使用 HTML 和腳本進(jìn)行配置
頁腳:主要用來放備案信息,也可以使用 HTML 和腳本進(jìn)行配置
簽名檔
最多可以配置 3 個(gè)簽名檔,發(fā)布文章的時(shí)候選擇一個(gè)使用,可以使用 HTML 和腳本進(jìn)行配置。
參數(shù)設(shè)置
下面是一些比較有特色或重要的參數(shù):
編輯器類型
列表顯示方式:僅標(biāo)題 / 標(biāo)題 + 摘要 / 標(biāo)題 + 正文
各種分頁參數(shù)
文章更新提示:啟用后一旦某篇文章更新過,則會在文章標(biāo)題處顯示“有更新”的提示,并且排序靠前
允許注冊:開放注冊后其他人可以注冊成為“訪客用戶”,方便評論時(shí)不用每次都填寫基本信息。管理員可以在用戶管理中看到當(dāng)前的所有用戶,并可以改變用戶角色
導(dǎo)入數(shù)據(jù)
MetaWeblog API
如果你之前使用的系統(tǒng)支持這個(gè)特性,可以先用客戶端工具導(dǎo)出文章到本地,然后再導(dǎo)入 Solo,
可參考下面的 MetaWeblog API 配置。
靜態(tài)博客 /Markdown
備份
war 包
如果你修改過代碼請記得備份整體的 war 包,如果沒有修改過則只用備份下面的配置文件。
配置文件
進(jìn)行版本升級時(shí)需要,建議備份 WEB-INF/classes/ 目錄下的三個(gè)文件:
la
local.properties
mail.properties(如果修改過的話)
數(shù)據(jù)庫
H2:備份用戶 home 目錄下的 solo_h2 文件夾
MySQL:使用 MySQL 相關(guān)備份工具,或者到博客后臺工具 -> 其他中進(jìn)行 SQL 導(dǎo)出
獲取項(xiàng)目源碼,項(xiàng)目講解,知識點(diǎn)分享,學(xué)習(xí)交流,那就加入小編的Java學(xué)習(xí)交流群吧!
616 959 444
強(qiáng)烈建議定時(shí)備份數(shù)據(jù)?。?!
升級
使用在跑著的老版本的配置文件覆蓋新版本 war 中的(或者重新再配置一次),然后直接部署就好,啟動(dòng)時(shí)會自動(dòng)進(jìn)行升級。要確認(rèn)升級是否成功的話留意一下日志,或者查看 option 表中的 version 行。
注意:不能進(jìn)行跨版本升級,建議緊跟我們的發(fā)布步伐
下面是兩位用戶升級 Solo 的經(jīng)驗(yàn)分享,請參考一下:
其他一些特性
多用戶
可以幾個(gè)用戶同時(shí)使用一個(gè)博客發(fā)布文章,主要用在團(tuán)隊(duì)博客這個(gè)場景。權(quán)限方面做了簡單隔離,非管理員用戶可以看到其他用戶的博文 / 評論列表,但是不能進(jìn)行操作。
RSS/Atom
提供兩種訂閱供稿:Atom 1.0、RSS 2.0,分別可以對博客文章列表、標(biāo)簽 - 文章列表進(jìn)行供稿:
博客文章列表
Atom:
RSS:
標(biāo)簽 - 文章列表
Atom: ${tagId}
RSS: ${tagId}
瀏覽器直接打開可能會出現(xiàn)編碼問題,可使用閱讀器查看。
Sitemap
自動(dòng)生成全站文章的 ,有利于 SEO。
前臺皮膚切換
通過 URL 帶參(比如 )來確定渲染使用的皮膚。
使用場景舉例:
在不安裝 Solo 的情況下可以方便預(yù)覽各個(gè)皮膚(在 Demo 上)
方便二次開發(fā)時(shí)集成切換皮膚
博主可以讓訪客體驗(yàn)到不同的效果,比如:這個(gè)皮膚好看?還是這個(gè)好看?
1,只有在首頁(/)會取參數(shù)skin=xxx
2,如果帶有就記錄到 Cookie 里面,如果帶有skin=default或皮膚不存在則清空 Cookie
3,如果要切換成后臺默認(rèn)的皮膚,在首頁帶參skin=default
站外相關(guān)文章
“站外相關(guān)文章”指的是其他人使用 Solo 發(fā)布的文章,該文章含有與你的文章相同的標(biāo)簽。該功能主要是為了加強(qiáng)各個(gè) Solo 博客之間的互動(dòng)性,讓博客訪問者可以更有效地訪問到相關(guān)的內(nèi)容。
這是 B3log 構(gòu)思 的一部分實(shí)現(xiàn),歡迎各位大家積極參與進(jìn)來
MetaWeblog API
MetaWeblog API 是用于離線管理文章的(比如使用 WLW),目前支持以下 APIs:
blogger.getUsersBlogs – 獲取博客
me – 獲取標(biāo)簽列表
me – 獲取最新文章列表
me – 獲取文章
me – 發(fā)布文章 / 保存草稿
me – 編輯文章
blogger.deletePost – 刪除文章
配置地址:/apis/metaweblog,用戶名 / 密碼:管理員的口令
FAQ
初始化卡住
如果初始化向?qū)ы撁嬉呀?jīng)正常顯示,但是填完表單后點(diǎn)擊“初始化”按鈕后卡住,說明可能是 serverPort沒有配置正確,這個(gè)端口需要配置為瀏覽器訪問時(shí)候的端口,而不是容器啟動(dòng)的監(jiān)聽端口。
如何引入自定義靜態(tài)資源,比如 .mp3?
請參考 WEB-INF 中的配置,加入自定義資源的路徑匹配后重啟。
如何獲得更好的 Markdown 渲染效果?
獲取項(xiàng)目源碼,項(xiàng)目講解,知識點(diǎn)分享,學(xué)習(xí)交流,那就加入小編的Java學(xué)習(xí)交流群吧!
616 959 444
Solo 默認(rèn)是使用內(nèi)嵌的 flexmark 進(jìn)行 md 渲染,這個(gè)項(xiàng)目還比較新,對有的場景下的 md 渲染效果處理不是很好。如果你想要獲得更好的 md 渲染效果需要這樣做:
安裝 Node.js
2.安裝 marked:npm install marked --save
3.在 Solo 目錄下執(zhí)行
node js/marked以啟動(dòng) markdown 解析引擎(你可能需要 nohup),需要 8250端口可用
4.重啟 Solo 后就會使用 marked 作為 markdown 渲染引擎了
謝謝大家的觀看,很晚了。今天先寫到這里吧!后面會一步步的全部寫出來,如果有什么不對或不同看法的請留言!謝謝!
后續(xù):
開發(fā)環(huán)境、項(xiàng)目結(jié)構(gòu)、框架說明
開發(fā)步驟、模版變量
插件機(jī)制、處理流程
1.《solo命令看這里!“程序員大佬”用 Java 實(shí)現(xiàn)的博客系統(tǒng),來一起創(chuàng)建個(gè)自己博客吧!》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《solo命令看這里!“程序員大佬”用 Java 實(shí)現(xiàn)的博客系統(tǒng),來一起創(chuàng)建個(gè)自己博客吧!》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實(shí),對其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請保留本站內(nèi)容來源地址,http://f99ss.com/gl/2521913.html