bye 我的博客网站

这篇具有很好参考价值的文章主要介绍了bye 我的博客网站。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Bye🙋🙋🙋,我的博客网站。在我的服务器上运行了9个月之久的博客网站要和大家Bye了。

背景

可能很多人不知道我的这个博客网站的存在,好吧,最后一次展示它了,博客网站地址在这里,它是基于开源的一款Java开发的CMS博客建站平台:PerfreeBlog构建的。官方的网站首页是这样:

bye 我的博客网站,java,spring boot,docker

在最开始,我想分享一下我喜欢使用它的原因:

  1. 代码开源 我很喜欢开源,一个是意味着它不用付费(原谅我是白嫖党中的一员,二个是开源的就有了良好的生态(一般情况下),生态的完善会带来更好的体验;
  2. 快速高效 在接下来的内容中我会展示它的如何的安装,你会发现安装是如此的简单;同时文章的编辑支持主流的markdown语法,支持粘贴图片,路径能治愈我的强迫症,且看例子:/attach/20221205/f1acb914d1b94b45b4727f28c74bb898.png,一眼就可以看出它的存储路径的规则;
  3. 丰富的主题 可以在我们自己搭建的系统中配置官方的主题,官网的首页也展示了很多个性化的主题,但是很多都是收费的,我表示也能理解;
  4. 可以基于docker实现文件挂载 知道docker的都清楚它可以实现服务的一键部署,但是文件的挂载也可以去尝试一下。我可以保存我的文件数据到宿主机,方便以后的服务部署,后边我会展开讲,包括数据的备份;
  5. 主题可编辑 即使是我们自己下载的主题,我们也可以点击编辑,打开的就是一个代码编辑的页面,我们保存之后刷新页面就可以生效(我就是改了主题的代码,把官方的版权信息删了🤣)

bye 我的博客网站,java,spring boot,docker

  1. 插件系统 让我惊奇的是它可以在系统中下载对应的插件包,然后在后台导入插件就可以安装

bye 我的博客网站,java,spring boot,docker

它的一些效果图也如下,首先看到的是首页,它支持响应式,在手机端看着也很舒服:

bye 我的博客网站,java,spring boot,docker

文章的内容排版如下,我特意的选择了一个带有代码的文章,我基本是markdown写的,外加复制粘贴图片:

bye 我的博客网站,java,spring boot,docker

不得不夸赞一下作者,我觉得作者和我一样是对美学要求极高的人。所以,在正式的结束部署和使用之前,我也要帮作者推一波。

Bye

我记得我和这个系统的初遇。2023年3月10日,在我逛网站的时候,突然发现了这样的一个博客网站,正好也在研究docker,好家伙,正中下怀。于是当晚回去就自己本地部署了一下,发现是真的好用呢。于是,我开始了一年多的不断写作。截止我的关停,我的博客文章数48篇。但是,这么好用,我也必须说bye bye了,我有诸多的因素去考量。

维护成本

这个我得具体的分析一下:

服务器成本

我的腾讯云服务器是2核2GB的,是腾讯云服务器的基础版本,虽然带宽、存储、流量上我不犯愁,但是犯愁的就是内存,2GB, 啥也干不了,还没干啥就没了;

维护成本

我的文章要同步到多个平台,别的平台如:知乎、CSDN,包括我一直喜欢用的微信公众号,它们都可以转载我的COS图片到它们自己的服务器上,可以说:很好的解决了我的COS流量的问题;但是,这个博客系统就不同了,直接老老实实的引用外链(当然,我相信后期作者会改进的);

知名度的提升

域名,一直是困扰我的问题。腾讯云、阿里云的域名审核非常的严格,第三方渠道我觉得不大靠谱。没有了域名,或者说搜索引擎不能去爬取我的文章,我的网站就不会展示出来。不展示出来,唯一的用户就是我自己,可能还有一些在网络上爬别人端口的黑客们。那些知名的论坛、博客就不一样了,它们可以推荐,是一个更大、更专业的技术论坛。

bye 我的博客网站,java,spring boot,docker

所以,bye bye 了。我结束了我服务器部署perfreeBlog的部署、使用和维护。但是技术写作的步履不停,欢迎大家关注我的其它平台的账号,知乎、掘金、CSDN:账户名shigen。也可以关注我的个人微信公众号。

最后

最后,我想展示一下这个博客的安装方式,分享我的一些安装的技巧,供大家参考。

首先,我的环境需要docker mysql 服务器centos 7以上的版本。

docker的安装
yum install docker
systemctl enable docker
ststem start docker

如果觉得安装有问题,或者不方便,本次提供了一个大神写的安装的shell脚本:

#!/bin/bash
Version="20.10.4-3.el7"

# 下载docker安装源
wget -P /etc/yum.repos.d/ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装docker
yum -y install docker-ce-$Version || echo -e '\033[1;31m安装失败,请检查网络和yum源配置!\033[0m'

# 使用国内镜像加速
# 阿里云(需要登录账号分配地址)
# 网易云 https://vgunv6qp.mirror.aliyuncs.com
# 腾讯云 https://mirror.ccs.tencentyun.com
# 中科大 https://docker.mirrors.ustc.edu.cn
# docker中国 https://registry.docker-cn.com
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://mirror.ccs.tencentyun.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com"
    ]
}
EOF

# 重新加载配置并启动docker
systemctl daemon-reload
systemctl enable --now docker

docker version && echo -e "\033[1;32m${Version}安装成功!\033[0m" || echo -e '\033[1;31m安装失败!\033[0m'
mysql安装

有了docker之后,我就推荐我写的一个mysql基于docker的一键化安装的脚本吧

#!/bin/bash
IMG_TAG='mysql/mysql-server:latest'

docker pull $IMG_TAG

mkdir log data conf

touch ./conf/my.cnf

docker run -d -p 3307:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v $PWD/log:/var/log/mysql  \
-v $PWD/data:/var/lib/mysql  \
-v $PWD/conf:/etc/mysql  \
--name mysql $IMG_TAG

echo "success"

my.cnf直接创建一个空的就行。

好了,现在的需要的基本环境有了,有请我们今天的主角perfree

perfree
  • 一键启动
docker run --name perfree -d -p 80:8080 perfree/perfree:v2.3.0

防火墙怎么开,这里不展示。

  • 复制文件 想起来了,文件没复制出来呢,万一容器毁了,数据不都是全丢了?
mkdir /perfree
docker cp perfree:/resources/ /perfree/
docker cp perfree:/config/ /perfree/
  • 一条命令再解决
docker run -v /perfree/config:/config -v /perfree/resources:/resources --name perfree -d -p 81:8080 perfree/perfree
  • 创建数据库账号,应该只给这个账号这个库的全部权限(别问我为什么这么谨慎,服务器上吃过亏)
# 创建用户及授权
CREATE USER 'perfee'@'%' IDENTIFIED BY 'xxxxx'; 
GRANT all privileges ON perfee.* TO perfee'@'%';

OK,现在你就有了服务了。进入服务的web端页面,填写mysql的账号密码,系统就初始化了,后边的不教了。

定时备份数据库

为什么定时备份,防止数据丢了。还有就是:练手,装个X。这里,我就把之前我写的一篇文章拿过来了

问题场景

最近在学习linux的shell编程,想到了这个博客的所有数据的备份需求:

  1. 定时备份博客数据库的数据
  2. 只保留最近10天的数据
开整
1. shell脚本的编写

以下是backup_sql.sh的内容(关键信息脱敏显示)

#!/bin/bash
# 备份日期并删除前10天的备份文件
DATE=$(date +%Y%m%d)
username=xxxxx
password=xxxxx
host=127.0.0.1
database=xxxxx

mysqldump -u${username} -p${password} -h ${host} ${database} | gzip > ./"$database"-"$DATE".sql.gz;

echo "backup $database finished......"

# 删除10天前备份的文件
find ./ -mtime +10 -name "*.sql.gz" | xargs rm -rf;
echo "=====backup success====="

至此,脚本的编写已经完成。保持着没有不经过测试就很完美的程序的想法,我开始验证

2. 验证shell的正确性
# 给当前的shell脚本可执行的权限
chmod u+x ./backup_sql.sh

./backup_sql.sh
ll

看到xxxxx-20221116.sql.gz即代表数据的备份完成。如果数据库正好在本机安装,推荐ip为127.0.0.1,备份速度会很快(减少了网络数据传输的时间消耗)。
ok,不放心的话可以解压缩该压缩包文件查看内容:

gunzip perfree-20221116.sql.gz
tail -n 100 perfree-20221116.sql
3. 定时任务的配置

腾讯云服务器的cron表达式的格式是:分 时 日 月 周,是一个大坑。这里也推荐cron在线生成和反解析网站:

bye 我的博客网站,java,spring boot,docker

crontab -e
# 添加
 0 0 * * *  /bin/bash /xxxx/xxxx/backup_sql.sh
# 检查
crontab -l

至此,用shell脚本实现mysql数据库的定时备份已完成。

以上就是我的博客的配置全部过程了。Bye perfree,致敬🫡开发者,期待以后的相遇。文章来源地址https://www.toymoban.com/news/detail-640169.html

到了这里,关于bye 我的博客网站的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Spring、SpringMVC、MyBatis的校园论坛博客网站

    🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 基于Spring、SpringMVC、MyBatis的校园论坛博客网站,java项目。 eclipse和idea都能打开运行。 推荐环境配置:eclipse/idea jdk1.8 maven mysql 前端技术:

    2024年02月11日
    浏览(39)
  • 拾壹博客Spring Boot转换成Spring Cloud Alibaba架构

    改的地方实在太多了,所以过程记录不下去了,但是业务模块跟Boot是一毛一样的没有变化,直接发项目代码,包括了nacos中的配置文件在对应的模块,运行大概是没有问题。 成果: 链接已死,真的大无语。 等哪天把家里的k8s的minio整一下。先传到CSDN咯。 PS:其实过年前就已

    2024年02月06日
    浏览(45)
  • 【Spring Boot学习】今天是我的生日,舍友催我去吃饭,我还是坚持写完了Spring Boot配置文件,祝自己生日快乐哈

    前言: 大家好,我是 良辰丫 ,上一篇文章中我们已经学习了Spring Boot项目的的创建,今天我们会学习Spring Boot的配置文件,在今天的学习中我们会遇到许多我们不认识的注解,这些注解是Spring MVC中的,我们后续会介绍, 大家先不用管这些注解是什么意思 .那么,为什么不先学习MVC呢?我想

    2024年02月08日
    浏览(45)
  • 个人博客网站一揽子:Docker搭建图床(Lsky Pro)

    Lsky Pro 介绍 Lsky Pro 是一个用于在线上传、管理图片的图床程序,中文名:兰空图床,你可以将它作为自己的云上相册,亦可以当作你的写作贴图库。 兰空图床始于 2017 年 10 月,最早的版本由 ThinkPHP 5 开发,后又经历了数个版本的迭代,在 2021 年末启动了新的重写计划并于

    2024年02月05日
    浏览(53)
  • Spring boot+Vue博客平台:文章列表展示、文章分类与标签管理模块实现

    本文将详细介绍如何实现博客平台中的文章列表展示、文章分类与标签管理功能,包括前端的Vue组件设计和后端的Spring Boot接口实现。在阅读本文后,您将了解如何设计和实现高效、易用的文章列表展示、文章分类与标签管理功能。 1.设计思路 在设计文章列表展示功能时,我

    2023年04月11日
    浏览(55)
  • 基于Spring Boot和Vue3的博客平台数据库设计实践

    在构建一个博客平台时,数据库设计是关键的一步。一个合理的数据库设计可以提高数据的一致性、完整性和可用性,从而提高整个平台的稳定性和性能。本篇博客将介绍博客平台的数据库设计,包括实体关系图、表结构设计以及表之间的关系。 1. 实体关系图 实体关系图(

    2023年04月14日
    浏览(55)
  • 课程设计基于Spring Boot+Semantic ui的个人博客系统的设计与实现

    项目背景: 本项目是基于互联网软件开发技术搭建的一款个人博客系统,因为自己十分喜欢创作,比如写一些开源项目,写一些博客笔记,虽然网络上有许多大型博客系统,但是一直想写一个属于自己专有的博客系统,比如可以上传一些自己的知识笔记,上传一些自己的生活

    2024年02月04日
    浏览(41)
  • (附源码)基于Spring Boot的个人博客系统的设计与实现 毕业设计271611

    目 录 摘要 1 1 绪论 1 1.1研究意义 1 1.2开发背景 1 1.3系统开发技术的特色 1 1.4论文结构与章节安排 1 2 个人博客系统系统分析 3 2.1 可行性分析 3 2.2 系统流程分析 3 2.2.1数据增加流程 3 2.3.2数据修改流程 4 2.3.3数据删除流程 4 2.3 系统功能分析 4 2.3.1 功能性分析 4 2.3.2 非功能性分析

    2024年02月06日
    浏览(49)
  • 基于Spring Boot的校园论坛网站

    🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 基于Spring Boot的校园论坛网站,java项目。 eclipse和idea都能打开运行。 推荐环境配置:eclipse/idea jdk1.8 maven mysql 前端技术:

    2024年02月08日
    浏览(36)
  • 基于Spring Boot+Vue的论坛网站

    末尾获取源码 作者介绍: 大家好,我是墨韵,本人4年开发经验,专注定制项目开发 更多项目: CSDN主页YAML墨韵 学如逆水行舟,不进则退。学习如赶路,不能慢一步。 目录 一、项目简介 二、开发技术与环境配置 2.1 SpringBoot框架 2.2 Java语言简介 2.3 Vue的介绍 2.4 mysql数据库介

    2024年03月14日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包