当前位置:首页 > 话题广场 > 攻略专题 > 单机攻略

solo命令看这里!“程序员大佬”用 Java 实现的博客系统,来一起创建个自己博客吧!

简介

Solo是一个可以用命令制作的Java开源博客系统,内置了15套精心制作的皮肤。

除此之外,Solo 还有着非常活跃的社区,文章分享到社区后可以让很多人看到,产生丰富的交流互动。

Solo 的第一个版本发布于 2010 年,至今已经非常成熟稳定,请放心使用

功能

Solo 沉淀至今的每一个功能你应该都会用到。我们不会将只有“20%”用户使用的功能添加进来,只有这样才能保持博客系统本该有的纯净,足够轻量才能带来简约的使用体验。

  • markdown / Emoji

  • 聚合分类 / 标签

  • 自定义导航(页面、链接)

  • 草稿夹

  • 评论/回复邮件提醒

  • 随机文章 / 相关文章 / 置顶 / 更新提醒

  • 自定义文章永久链接

  • 自定义站点 SEO 参数

  • 自定义公告 / 页脚

  • 多个签名档

  • 代码高亮

  • 多皮肤,多端适配 / 社区皮肤

  • 多语言 / 国际化

  • 上传七牛云

  • 友情链接管理

  • 多用户写作,团队博客

  • SQL 文件导出

  • Hexo/Jekyll 导入

  • 插件系统

  • Atom / RSS 订阅

  • Sitemap

  • MetaWeblog API

  • CDN 静态资源分离

如果有新版可用,升级过程也是非常简单的,只需要重新部署新版本就可以,不用运行额外的任何脚本。

然后就让我们来看看怎么安装、配置、备份以及常见问题吧!

  1. 获取项目源码,项目讲解,知识点分享,学习交流,那就加入小编的Java学习交流群吧!

  2. 616 959 444

安装

安装前先准备好 Java 环境,请使用 JDK8 或以上版本。Solo 提供了两种部署模式,分别是独立模式和容器模式。数据库默认是使用内嵌的 H2 数据库,也支持 MySQL,稍后会详细介绍。

对于系统内存要求,最低 512M,推荐 1G。

独立模式,JDK 环境准备好之后下载最新的 Solo 包解压,进入解压目录执行!

独立模式使用内嵌的 Jetty 容器进行部署,解压 war 包后仅需要一个命令就能启动:

Windows: java -cp WEB-INF/lib/*;WEB-INF/classes org.b3log.

Unix-like: java -cp WEB-INF/lib/*:WEB-INF/classes org.b3log.

注意:上面的命令都是前台运行的,退出 shell 后会被终止。比如 Linux 上不中断运行需要使用 nohup。

容器模式

使用 Jetty 或者 Tomcat(版本要求至少 9)进行部署,将 war 包放到容器的 webapps 目录下即可。

独立 vs 容器

两种模式各有千秋:

  • 独立模式:一个命令就能启动,如果你对 Java Web 不太熟悉,建议使用该方式

  • 容器模式:可以和已有的程序一起部署在同一个容器中,这样可以节省内存

细节配置

主要的配置文件有两个,它们都存放在 WEB-INF/classes 目录下。

  • la:用于配置域名和端口,请配置为浏览器访问时候的域名和端口

  • local.properties:用于配置数据库,要切换为 MySQL 的话请在这里配置

皮肤

下载的 war 包中自带了所有官方皮肤,如果你是自己拉源码构建的,可以到这里下载皮肤。

皮肤放到 skins 目录下后重启服务,在工具 -> 偏好设定 -> 皮肤中选择使用即可。

NGINX 示例

相应的 la 配置:

初始化后

初始化成功后强烈建议到管理后台 -> 工具 -> 偏好设定中进行一下配置。

信息配置

  • 博客基本信息:标题、子标题、SEO 信息

  • HTML head:可以配置脚本,比如百度统计

  • 公告:可以使用 HTML 和脚本进行配置

  • 页脚:主要用来放备案信息,也可以使用 HTML 和脚本进行配置

签名档

最多可以配置 3 个签名档,发布文章的时候选择一个使用,可以使用 HTML 和脚本进行配置。

参数设置

下面是一些比较有特色或重要的参数:

  • 编辑器类型

  • 列表显示方式:仅标题 / 标题 + 摘要 / 标题 + 正文

  • 各种分页参数

  • 文章更新提示:启用后一旦某篇文章更新过,则会在文章标题处显示“有更新”的提示,并且排序靠前

  • 允许注册:开放注册后其他人可以注册成为“访客用户”,方便评论时不用每次都填写基本信息。管理员可以在用户管理中看到当前的所有用户,并可以改变用户角色

导入数据

MetaWeblog API

如果你之前使用的系统支持这个特性,可以先用客户端工具导出文章到本地,然后再导入 Solo,

可参考下面的 MetaWeblog API 配置。

静态博客 /Markdown

备份

war 包

如果你修改过代码请记得备份整体的 war 包,如果没有修改过则只用备份下面的配置文件。

配置文件

进行版本升级时需要,建议备份 WEB-INF/classes/ 目录下的三个文件:

  • la

  • local.properties

  • mail.properties(如果修改过的话)

数据库

  • H2:备份用户 home 目录下的 solo_h2 文件夹

  • MySQL:使用 MySQL 相关备份工具,或者到博客后台工具 -> 其他中进行 SQL 导出

  • 获取项目源码,项目讲解,知识点分享,学习交流,那就加入小编的Java学习交流群吧!

  • 616 959 444

强烈建议定时备份数据!!!

升级

使用在跑着的老版本的配置文件覆盖新版本 war 中的(或者重新再配置一次),然后直接部署就好,启动时会自动进行升级。要确认升级是否成功的话留意一下日志,或者查看 option 表中的 version 行。

注意:不能进行跨版本升级,建议紧跟我们的发布步伐

下面是两位用户升级 Solo 的经验分享,请参考一下:


其他一些特性

多用户

可以几个用户同时使用一个博客发布文章,主要用在团队博客这个场景。权限方面做了简单隔离,非管理员用户可以看到其他用户的博文 / 评论列表,但是不能进行操作。

RSS/Atom

提供两种订阅供稿:Atom 1.0、RSS 2.0,分别可以对博客文章列表、标签 - 文章列表进行供稿:

  • 博客文章列表

  • Atom:

  • RSS:

  • 标签 - 文章列表

  • Atom: ${tagId}

  • RSS: ${tagId}

浏览器直接打开可能会出现编码问题,可使用阅读器查看。

Sitemap

自动生成全站文章的 ,有利于 SEO。

前台皮肤切换

通过 URL 带参(比如 )来确定渲染使用的皮肤。

使用场景举例:

  • 在不安装 Solo 的情况下可以方便预览各个皮肤(在 Demo 上)

  • 方便二次开发时集成切换皮肤

  • 博主可以让访客体验到不同的效果,比如:这个皮肤好看?还是这个好看?

1,只有在首页(/)会取参数skin=xxx

2,如果带有就记录到 Cookie 里面,如果带有skin=default或皮肤不存在则清空 Cookie

3,如果要切换成后台默认的皮肤,在首页带参skin=default

站外相关文章

“站外相关文章”指的是其他人使用 Solo 发布的文章,该文章含有与你的文章相同的标签。该功能主要是为了加强各个 Solo 博客之间的互动性,让博客访问者可以更有效地访问到相关的内容。

这是 B3log 构思 的一部分实现,欢迎各位大家积极参与进来

MetaWeblog API

MetaWeblog API 是用于离线管理文章的(比如使用 WLW),目前支持以下 APIs:

  • blogger.getUsersBlogs – 获取博客

  • me – 获取标签列表

  • me – 获取最新文章列表

  • me – 获取文章

  • me – 发布文章 / 保存草稿

  • me – 编辑文章

  • blogger.deletePost – 删除文章

配置地址:/apis/metaweblog,用户名 / 密码:管理员的口令

FAQ

初始化卡住

如果初始化向导页面已经正常显示,但是填完表单后点击“初始化”按钮后卡住,说明可能是 serverPort没有配置正确,这个端口需要配置为浏览器访问时候的端口,而不是容器启动的监听端口。

如何引入自定义静态资源,比如 .mp3?

请参考 WEB-INF 中的配置,加入自定义资源的路径匹配后重启。

如何获得更好的 Markdown 渲染效果?

  1. 获取项目源码,项目讲解,知识点分享,学习交流,那就加入小编的Java学习交流群吧!

  2. 616 959 444

Solo 默认是使用内嵌的 flexmark 进行 md 渲染,这个项目还比较新,对有的场景下的 md 渲染效果处理不是很好。如果你想要获得更好的 md 渲染效果需要这样做:

  1. 安装 Node.js

2.安装 marked:npm install marked --save

3.在 Solo 目录下执行

node js/marked以启动 markdown 解析引擎(你可能需要 nohup),需要 8250端口可用

4.重启 Solo 后就会使用 marked 作为 markdown 渲染引擎了

谢谢大家的观看,很晚了。今天先写到这里吧!后面会一步步的全部写出来,如果有什么不对或不同看法的请留言!谢谢!

后续:

开发环境、项目结构、框架说明

开发步骤、模版变量

插件机制、处理流程

1.《solo命令看这里!“程序员大佬”用 Java 实现的博客系统,来一起创建个自己博客吧!》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《solo命令看这里!“程序员大佬”用 Java 实现的博客系统,来一起创建个自己博客吧!》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2521913.html

上一篇

统御先锋军声望怎么刷看这里!《魔兽世界》坐骑300坐骑出处!坐骑党真的不来看看吗?

【solo命令】计划工具(ETL任务流)

【solo命令】计划工具(ETL任务流)

solo命令相关介绍,1.区分ETL任务计划工具和任务流计划工具 Kettle是ETL工具Extract-Transform-Load(ETL)的缩写,即数据提取、转换和装载过程。 Kettle中文名字叫水壶。MATT是该...

【solo命令】狭路相逢勇者胜,选择dota 2中路热血不服战争

【solo命令】狭路相逢勇者胜,选择dota 2中路热血不服战争

solo命令相关介绍,就在几天前,巡回直播朱青直播的时候,一局的路人和他都想中途走,两人之间发生了一些矛盾,一对喷发后,双方约定好的最后进行电影公司单人比赛,一局的赌注约为500元人民币。第一场比赛因为一些失误输给了这个路...

【solo命令】魔兽世界怀旧服:关于骑士PVP的一些基本提示

【solo命令】魔兽世界怀旧服:关于骑士PVP的一些基本提示

solo命令相关介绍,作者:NGA-废物杀手 以忏悔6秒的速度脱胎换骨。 Pvp中陈腐的6秒脱电规则在这里就不赘述了。骑士在单身中使用忏悔,在忏悔结束前的最后一秒可以脱离战斗,如果脱离战斗,可以更换装备和配件。设备更换完成...

【solo命令】协调的时候会说很多英语,不知道是什么意思?学习

【solo命令】协调的时候会说很多英语,不知道是什么意思?学习

solo命令相关介绍,协调的时候会说很多英语。没有说明就不能协调,小编整理了英语的相应含义和效果。 增益增益;控制输入信号的大小 高音;高音。用于高频调整 MID if可以选择250HZ5KHZ自由频率 低低频;用来调节低...

【solo命令】推荐8个优秀的国产开源博客系统

【solo命令】推荐8个优秀的国产开源博客系统

solo命令相关介绍,对于程序员来说,除了勤工俭学技术,写博客记录开发过程和开发经验也是非常有意义的事情。(威廉莎士比亚、温斯顿、程序员、程序员、程序员、程序员、程序员、程序员、程序员)不仅有助于梳理自己的想法,还能避免别...

【solo命令】小巧漂亮的Java博客系统

【solo命令】小巧漂亮的Java博客系统

solo命令相关介绍,Solo是一个可以用命令制作的Java开源博客系统,内置了18套精心制作的皮肤。除此之外,solo还有非常活跃的社区,分享给文章社区后,可以进行丰富的交流互动,让很多人看到。 功能 Markdown/...

【solo命令】15日开源软件更新,Java博客系统solo推荐

【solo命令】15日开源软件更新,Java博客系统solo推荐

solo命令相关介绍,Gradle 5.0 RC3发布,Kotlin DSL升级到1.0.3 Gradle 5.0 RC3发布。此版本修复了RC2中的一些错误,解决了某些issue: 1、将Kotlin DSL升级到v1....

【solo命令】软件更新,Java开源博客solo 2 . 9 . 5发布,大范围的详细优化。

【solo命令】软件更新,Java开源博客solo 2 . 9 . 5发布,大范围的详细优化。

solo命令相关介绍,关注开源中国OSC头条获取最新技术信息。 Solo是一个可以用命令创建的Java开源博客系统。如果想独立博客,请不要错过!(大卫亚设,Northern Exposure(美国电视),独立博客名言)V2...