简介

Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,文章自动推送到社区后可以让很多人看到,产生丰富的交流互动。

项目地址

https://github.com/b3log/solo

案例

功能

  • Markdown / Emoji
  • 聚合分类 / 标签
  • 自定义导航链接
  • 随机文章 / 相关文章 / 置顶 / 更新提醒
  • 自定义文章永久链接 / 签名档
  • 配置站点 SEO 参数 / 公告 / 页脚
  • 代码高亮 / 数学公式 / 流程图
  • 多皮肤,多端适配 / 社区皮肤
  • 多语言 / 国际化
  • 友情链接管理
  • 多用户写作,团队博客
  • Hexo / Jekyll / Markdown 导入
  • SQL / JSON / Markdown 导出
  • Atom / RSS / Sitemap
  • CDN 静态资源分离
  • GitHub 仓库展示 / 自动备份文章到仓库
  • 内置 HTTPS+CDN 文件存储

界面

开始使用

后台首页

编辑文章

选择皮肤

前台界面

皮肤

安装

本地试用

下载最新的 Solo 包解压,进入解压目录执行:

  • Windows: java -cp "WEB-INF/lib/*;WEB-INF/classes" org.b3log.solo.Starter
  • Unix-like: java -cp "WEB-INF/lib/*:WEB-INF/classes" org.b3log.solo.Starter

如果你有 Java 开发环境,可参考这里通过源码构建运行。

请注意:我们不建议通过 war 发布包或者源码构建部署,因为这样的部署方式在将来有新版本发布时升级会比较麻烦。 这两种方式请仅用于本地试用,线上生产环境建议通过 Docker 部署。

Docker 部署

获取最新镜像:

docker pull b3log/solo
  • 使用 MySQL

先手动建库(库名 solo,字符集使用 utf8mb4,排序规则 utf8mb4_general_ci),然后启动容器:

docker run --detach --name solo --network=host  --env RUNTIME_DB="MYSQL"  --env JDBC_USERNAME="root"  --env JDBC_PASSWORD="123456"  --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver"  --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC"  b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost 

为了简单,使用了主机网络模式来连接主机上的 MySQL。

  • 使用 H2 Database
docker run --detach --name solo --volume ~/solo_h2/:/opt/solo/h2/ --publish 8080:8080  --env RUNTIME_DB="H2"  --env JDBC_USERNAME="root"  --env JDBC_PASSWORD="123456"  --env JDBC_DRIVER="org.h2.Driver"  --env JDBC_URL="jdbc:h2:/opt/solo/h2/db;MODE=MYSQL"  b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost 

启动参数说明:

  • --listen_port:进程监听端口
  • --server_scheme:最终访问协议,如果反代服务启用了 HTTPS 这里也需要改为 https
  • --server_host:最终访问域名或公网 IP,不要带端口号

完整启动参数的说明可以使用 -h 来查看。

Docker 升级

  1. 拉取最新镜像
  2. 重启容器

文档

  • 《提问的智慧》精读注解版:https://hacpai.com/article/1536377163156
  • 用户指南:https://hacpai.com/article/1492881378588
  • Solo 从设计到实现:https://hacpai.com/article/1537690756242
  • 皮肤开发:https://hacpai.com/article/1493814851007

个人博客系统的设计与实现_一款小而美的博客系统,专为程序员设计相关推荐

  1. 鸿蒙系统将实现全民众测,鸿蒙系统推送在即,华为多款App开启众测,旨在迎接鸿蒙全新设计...

    原标题:鸿蒙系统推送在即,华为多款App开启众测,旨在迎接鸿蒙全新设计 近日,网上一知名数码博主发现,华为旗下的多款系统级App在昨日同时在会员中心的众测区域开启众测,参与众测的App包括会员中心.智 ...

  2. Alvas.Audio专门为C#和VB.Net程序员设计

    Alvas.Audio专门为C#和VB.Net程序员设计 Alvas.Audio库使C#和VB.Net程序员能够创建执行(包括混合声音信息).捕获.转换和编辑音频的应用程序. Alvas.Audio音 ...

  3. 韭菜云监工_一款免费的玩客云监工软件

    近期和团队朋友配合,前段Vue,后端Go+Java开发了一套免费的云监工产品. 玩客云大概是17年底出道,我是18年初接触,经历了1年多.网上存量留下的监工产品有几款,大多功能齐备,均已经完成了用户积 ...

  4. 美国款游戏计算机,美国一程序员设计计算机游戏 悼念早逝爱子(图)

    据美国<今日>网站4月25日报道,美国科罗拉多州的程序员赖安•格林(Ryan Green)设计了一款叫做"癌症:那条猛龙"的游戏,以此纪念爱子约耳(Joel)短暂的一生 ...

  5. 中国象棋程序的设计与实现(九)–棋子点,棋子的小窝 中国象棋程序的设计与实现(八)-如何构造一个棋子(車馬炮等)...

    本篇简要介绍,在中国象棋程序中,容纳棋子的棋子点. 由于棋子位于棋盘中,为了方便讲解本篇,需要先简要介绍下棋盘的结构. 棋盘的结构 // 棋子点,共90个,横9*纵10 public ChessPoi ...

  6. 程序员设计的这些作品震惊UI界!真让人抓狂!直接笑还是走程序?

    大家有没有想过,如果程序员gg们来做设计,这个世界会变成什么样子? 如果哪天设计师消失了,这个世界会变成什么样? 经常逛淘宝的朋友会发现,在淘宝或者其他电商网站,有一个"设计"流派 ...

  7. 基于python的个人博客系统的设计开题报告_基于SSM的个人博客系统设计开题报告...

    本 科 毕 业 设 计(论文)开 题 报 告 题  目:基于SSM的个人博客系统设计与实现 专题题目(若无专题则不填): 本课题来源及研究现状: 关于博客的未来:在创办了博客中国(blogchina) ...

  8. 基于Java的设计开题报告_基于Java的电子邮件的收发系统的设计与实现开题报告...

    基于Java的电子邮件的收发系统的设计与实现开题报告 (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 开题报告 基于 Java 的电子 ...

  9. 牛客网数据开发题库_练习SQL利器,牛客网SQL实战题库

    牛客网SQL实战网址:https://www.nowcoder.com/ta/sql 持续更新--记录自己在牛客网SQL的做题过程 更新进度:61题,2019-4-3,更完了 1.查找最晚入职员工的所 ...

最新文章

  1. atitit..主流 浏览器 js 发动机 内核 市场份额 attialx总结vOa9
  2. NPOI的excel导出1
  3. opcclient远程连接opc服务器_软件 | 服务器远程连接软件MobaXterm
  4. 『Numpy』内存分析_高级切片和内存数据解析
  5. sql android客户端,XSGManage: 学生成绩管理系统---客户端,基于Android+Django+sqlit3开发...
  6. jsp网页实现登录用户名于密码的验证(不涉及数据库操作)
  7. 力扣题目——88. 合并两个有序数组
  8. SSH 远程管理软件 SecureCRT 下载安装教程
  9. chrome-推荐13个插件
  10. 一个简洁的PNG ICO转换工具 支持多分辨率的ICO生成
  11. 郑州高新区计算机,郑州高新区电脑维修
  12. unity2D横版游戏教程-3 Cinemachine镜头移动
  13. HTML-图文排版如何以代码实现
  14. c语言拼图小游戏编程,c语言控制台输出制作拼图小游戏
  15. Direct2D编程入门
  16. 云计算的认识和看法_个人对云计算的看法 我对云计算的认识
  17. 金蝶K3生产任务单批次号和工单号同步需求实现
  18. 【鼠标§鼠标右键菜单清理四招】
  19. 时分复用共享和空分复用共享的介绍
  20. excel内容拆分怎么做?

热门文章

  1. 深入学习SAP UI5框架代码系列之四:SAP UI5控件的元数据实现
  2. rxjs of操作符传入数组的单步执行
  3. SAP Spartacus internationalization(i18n) 的实现 - 关于多语言,翻译支持的实现
  4. Windows环境下,如何在Docker里运行SAP UI5应用
  5. why my SAP CRM One Order custom callback is not called
  6. why metadata request for GM4 via http will be redirected to https via 307 s
  7. SAP UI5 Label related stuff and accessibility研究
  8. delete in ST05 trace - deletion will also lead to many DB access first
  9. ABAP Pattern usage - define own custom user exit
  10. workflow and email in QD3 - IS_INBOX_USER method