一个专为程序员设计的精致 Java 博客系统

大家好,我是 Java陈序员

今天,给大家介绍一个设计精致的博客系统,基于 Java 实现!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

bolo-solo —— 🍍Bolo菠萝博客,一个基于 Java 实现的博客系统,简单易部署,具有精致的主题,专为程序员设计。

Bolo 基于 Latke 框架搭建,响应速度快,占用资源小。完全免费,代码全部开源且允许二次开发自用

功能亮点:

项目截图

博客前台

首页

博客

标签

存档

后台管理

首页

发布文章

评论管理

偏好设定

皮肤管理

插件管理

项目部署

菠萝博客支持多种安装方法。可以通过 Tomcat 进行部署(使用 WAR 包),查看日志与调试相对方便。也可以使用 Docker 进行部署。宝塔方式安装也是支持的,但是,宝塔在不同操作系统环境下可能会出现部分功能丢失的问题

下面就介绍下如何使用 Docker 进行部署。

1、克隆代码

git clone https://github.com/adlered/bolo-solo

2、修改配置文件(可选)

菠萝博客默认是使用 HTTP,如果需要使用 HTTPS,需要修改项目根目录下 src/main/resources 中的 latkes.properties 文件,将 http 修改为 https.

3、构建镜像

## 进入项目根目录
cd bolo-solo

## 构建镜像
docker build -t "bolo" .

4、创建数据库

CREATE DATABASE `bolo` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

5、启动容器

docker run -it -d -p 8080:8080 --env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="123456" \
--env JDBC_DRIVER="com.mysql.jdbc.Driver" \
--env JDBC_URL="jdbc:mysql://192.168.2.253:3306/bolo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
--rm \
bolo --listen_port=8080 --server_scheme=http --server_host=192.168.2.253
  • JDBC_USERNAME 修改为 MySQL 数据库用户名
  • JDBC_PASSWORD 修改为 MySQL 数据库密码
  • JDBC_URL 修改为 MySQL 服务地址
  • server_host 修改为域名(或IP地址)
  • -p 8080:8080 和 --listen_port=8080 为端口参数,把三个 8080 改为想设置的端口

如果想搭建一个属于自己的博客系统,可以试试菠萝博客,快去安装体验吧~

项目地址:

https://github.com/adlered/bolo-solo

在线体验:

https://demo.stackoverflow.wiki/

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/648673.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

抄表:现代生活中的数据采集关键

1.界定与发源 抄表,简单的说,指从各种各样计量机器设备(如智能水表、电度表、天然气表等)载入做好记录使用量的全过程。这一概念自工业化时代至今就出现了,最初由人工进行,伴随着科技创新,如今已经演化出自动化和远程…

Netflix Conductor整合Apache Seata实现支持分布式事务的服务编排方案

一、背景 Netflix Conductor是Netflix开源的一个微服务编排引擎。它旨在简化和自动化微服务架构中复杂的业务流程和工作流处理。Conductor允许开发人员使用声明性的方式定义工作流,将多个服务和任务组合成一个完整的业务流程。它提供了一个用户友好的UI界面&#xf…

echarts- 热力图, k线图,雷达图

热力图 热力图可以看成是一种矩形的散点图。 热力图的矩形受itemStyle的影响。 通常配合visualmap组件来根据值的大小做颜色的变化。 热力图主要通过颜色去表现数值的大小,必须要配合 visualMap 组件使用。 visualMap:视觉映射组件 let options {tooltip: {},xAx…

车辆相关识别API优化您的车辆系统

车辆相关识别API是开发者们所需的重要工具,它们基于先进的计算机视觉和深度学习技术,提供了强大的车辆识别和分类能力。这些API能够从图像或视频中快速准确地识别和提取车辆的关键信息,如车辆型号、品牌、颜色等。对于开发者而言,…

python-docx 在word中指定位置插入图片或表格

docx库add_picture()方法不支持对图片位置的设置 1、新建一个1行3列的表格,在中间的一列中插入图片 from docx import Document from docx.shared import Pt from docx.oxml.shared import OxmlElement from docx.enum.text import WD_ALIGN_PARAGRAPHdef add_cen…

Jenkins安装 :Aws EC2下Docker镜像安装

1 安装docker # 安装docker $ sudo yum install -y docker# 启动docker daemon $ sudo systemctl start docker# 用户加入docker组 $ sudo usermod -aG docker username 2 docker安装jenkins $ docker pull jenkins/jenkins:lts# 安装成功 $ docker images REPOSITORY …

动手学深度学习22 池化层

动手学深度学习22 池化层 1. 池化层2. 实现3. QA 课本: https://zh-v2.d2l.ai/chapter_convolutional-neural-networks/pooling.html 视频: https://www.bilibili.com/video/BV1EV411j7nX/?spm_id_fromautoNext&vd_sourceeb04c9a33e87ceba9c9a2e5f0…

第三方软件测试机构进行代码审计需要哪些专业的知识?

代码审计 进行代码审计需要专业的知识,包括编程语言、操作系统、数据库、网络知识以及安全知识等。 1.编程语言知识是进行代码审计的基础,因为你需要理解代码的语法和结构。对于不同的应用程序,你需要了解其所使用的编程语言的特点和语法规…

IO多路复用模型原理

在linux没有实现epoll事件驱动机制之前,常规的手段是选择select和poll等IO多路复用的方法来实现并发服务程序。但是在大数据、高并发、集群情况下,select和poll的性能瓶颈就出现了,于是epoll就诞生了 Select select函数监视的文件描述符分三类:writefds、readfds和exceptf…

Windows64位操作系统安装汇编语言环境

1、下载好MASM工具, 并存放在指定路径 2、再安装一个DOSBox 3、打开DOSBox, 并使用 mount 将刚刚存放MASM的路径挂在到C盘,然后进入C盘就可以使用 MASM的命令工具了。 例如: mount c G:\install\study\MASM C:但是DOSBox默认打开的窗口是很小的&…

openwrt 官方版 安装配置 AdGuard Home + smartdns 告别广告烦扰 教程 软路由实测 系列五

1 安装 adguard home opkg update opkg install adguardhome #启动 /etc/init.d/adguardhome start /etc/init.d/adguardhome enable #查看 rootOpenWrt:~# ps| grep AdGuardHome5101 root 1233m S /usr/bin/AdGuardHome -c /etc/adguardhome.yaml -w /var/adguardhom…

深入解读力扣154题:寻找旋转排序数组中的最小值 II(多种方法及详细ASCII图解)

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航: LeetCode解锁100…

深入了解Nginx(一):Nginx核心原理

一、Nginx核心原理 本节为大家介绍Nginx的核心原理,包含Reactor模型、Nginx的模块化设计、Nginx的请求处理阶段. (本文源自微博客,且已获得授权) 1.1、Reactor模型 Nginx对高并发IO的处理使用了Reactor事件驱动模型。Reactor模型的基本组件包含时间收集…

vue实现页面渲染时候执行某需求

1. 前言 在之前的项目中,需要实现一个监控token是否过期从而动态刷新token的功能,然而在登录成功后创建的监控器会在浏览器刷新点击或者是通过导航栏输入网址时销毁... 2. 试错 前前后后始过很多方法,在这里就记录一下也许也能为各位读者排…

JWT的生成

引依赖 生成JWT JWT校验 注意

从alpine构建预装vcpkg的docker image用于gitea actions CI

动机 想要构建一个基于vcpkg的交叉编译容器平台用于cpp项目的CI(自动集成),此处仅提供最基础的image,amd64的机子上构建完成后大小为533兆(着实不小😓),各位看官可以在此基础上自行构建需要的版本。 hello world效果展示 corss_compiler.dockerfile FROM alpine:la…

数据结构篇之二叉树(binary tree)的介绍和应用

欢迎光临: 男神 目录 一树的介绍和表示: 二二叉树的介绍及性质: 三堆的介绍及创建: 1堆的创建: 2堆的应用: 四二叉树的创建: ①// 通过前序遍历的数组"ABD##E#H##CF##G##"构建二…

2024年中国电机工程学会杯数学建模思路 - 案例:最短时间生产计划安排

# 前言 2024电工杯(中国电机工程学会杯)数学建模思路解析 最新思路更新(看最新发布的文章即可): https://blog.csdn.net/dc_sinor/article/details/138726153 最短时间生产计划模型 该模型出现在好几个竞赛赛题上,预测2022今年国赛也会与该模型相关。 1 模型描…

Flink常见面试题总结

文章目录 1. 简单介绍一下Flink2. Flink 的运行必须依赖Hadoop组件吗?3. Flink 和 Spark Streaming 的区别?4. Flink集群角色5. Flink核心概念5.1 并行度5.2 算子链(Operator Chain)5.3 任务槽(Task Slots)5.4 任务槽…

【PCI】PCIe高级错误上报能力AER(十二)

本文参考PCIe协议 5.0:https://download.csdn.net/download/zz2633105/89204842 本文参考intel IP用户指南:https://www.intel.cn/content/www/cn/zh/docs/programmable/683501/23-2-10-0-0/debugging-data-transfer-and-performance-25123.html 本文参…