我的个人博客正式上线了!

devtools/2024/12/23 9:46:16/

我的个人博客终于上线啦点此访问

经过一番折腾,我的个人博客终于上线啦!这是一个属于我自己的小天地,可以用来记录生活点滴、技术分享以及一些随想。
在这里,我想分享一下搭建博客的整个过程和心得体会。

为什么要搭建博客?

在快节奏的信息流时代,我一直觉得需要一个沉淀思考的地方。一个博客不仅是知识的记录,更是一种表达自我的方式。

搭建过程

选择技术栈

我这选择了开源的Solo进行搭建,github地址solo

数据库:mysql

使用docker搭建,可以自行选择自己的方式搭建

部署到服务器

腾讯云轻量级服务器 + 本地电脑(ubuntu server系统)
  • docker启动服务
 docker run --detach --name solo --network=host     --env RUNTIME_DB="MYSQL"     --env JDBC_USERNAME="xxxx"     --env JDBC_PASSWORD="xxxxxxxx"     --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver"     --env JDBC_URL="jdbc:mysql://你自己mysql服务器的ip:你自己mysql服务器暴露的端口/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true"     b3log/solo --listen_port=9000 --server_scheme=https --server_host=blog.douwen.top --server_port=
  • nginx反向代理
    在这里插入图片描述
upstream backend {server localhost:9000; # Solo 监听端口
}server {server_name  blog.douwen.top; # 博客域名access_log off;root /var/www/html;location ~* \.(png)$ {expires 30d;  # 设置浏览器缓存时间access_log off;try_files $uri $uri/ /index.html;}location / {proxy_pass http://backend$request_uri;proxy_set_header  Host $http_host;proxy_set_header  X-Real-IP $remote_addr;client_max_body_size  10m;}listen 443 ssl; # managed by Certbotssl_certificate /etc/letsencrypt/live/blog.douwen.top/fullchain.pem; # managed by Certbot # 填写自己的证书地址ssl_certificate_key /etc/letsencrypt/live/blog.douwen.top/privkey.pem; # managed by Certbot # 填写自己的证书的私钥地址include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbotssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot}server {if ($host = blog.douwen.top) {return 301 https://$host$request_uri;} # managed by Certbotlisten       80;server_name  blog.douwen.top;return 404; # managed by Certbot}
  • nps内网穿透开源链接,可参考我的另一片博文,详细记录使用过程

自生成ssl证书,让访问更安全

参考链接

设计与优化

我尽量让页面看起来清爽简约,减少视觉疲劳。
后续会在此基础上根据需求再开发相关能力

写博客的意义

  • 记录成长:技术学习、项目踩坑、生活思考,这些都值得记录。
  • 交流分享:希望未来能在这里和更多志同道合的人交流想法。
  • 提高表达能力:写作是一种思维训练,帮助我更清晰地表达观点。

未来计划

  • 将自己学习内容以及心得记录下来
  • 将工作中遇到问题的背景与解决思路记录下来
  • 尽量经常更新博文,保持输出的节奏

希望你喜欢这篇文章的风格,搭建博客是值得纪念的事情!


http://www.ppmy.cn/devtools/144651.html

相关文章

面试小札:Java后端闪电五连鞭_8

1. Kafka消息模型及其组成部分 - 消息(Message):是Kafka中最基本的数据单元。消息包含一个键(key)、一个值(value)和一个时间戳(timestamp)。键可以用于对消息进行分区等…

【持续更新】Github实用命令

Intro 最近高强度使用github,遂小计于此作为备忘。 Basic github是一个代码管理软件,能够track文件变动并且管理版本,是当代coding必不可少的工具。当你安装好github在本地以后,你可以通过以下命令初始化当前文件夹&#xff08…

【蓝桥杯每日一题】扫描游戏——线段树

扫描游戏 蓝桥杯每日一题 2024-12-13 扫描游戏 线段树 模拟 题目大意 有一根围绕原点 O 顺时针旋转的棒 O A OA OA ,初始时指向正上方 (Y 轴正向)。 在平面中有若干物件, 第 i 个物件的坐标为 ( x i , y i ) (x_i,y_i) (xi​,yi​), 价值为 z i z_i zi​ 。当棒扫到某个 物件…

uni-app开发商品分类页面实现

目录 一:功能概述 二:功能实现 一:功能概述 这里商品分类按照常规的分类页面样式设计,左侧为一级分类,右侧为二级分类。在左侧切换不同的一级分类可以修改右侧的二级分类数据。右侧的展现方式是最上面显示对应的一级分类logo图片,下面展示二级分类的logo和名称。 二:…

MFC/C++学习系列之简单记录13

MFC/C学习系列之简单记录13 前言memsetList Control代码注意 总结 前言 今天记录一下memset和List control 的使用吧! memset memset通常在初始化变量或清空内存区域的时候使用,可以对变量设定特定的值。 使用: 头文件: C&#…

获取显示器(主/副屏)友好名称(FriendlyName)

在开发涉及多显示器的应用程序时,获取显示器的友好名称(Friendly Name)是一个常见需求。本文将深入探讨GetMonitorFriendlyName 方法,了解其实现细节和工作原理。 方法签名 public static string GetMonitorFriendlyName(bool i…

Debian 10上使用UFW设置防火墙

介绍 UFW或Uncomplicated Firewall是iptables一个接口,旨在简化配置防火墙的过程。 虽然iptables是一个可靠而灵活的工具,但初学者很难学会如何使用它来正确配置防火墙。 如果您希望开始保护网络并且不确定使用哪种工具,UFW可能是您的正确选…

构建全面的生产监控体系:从基础设施到业务服务

在现代 IT 系统中,监控体系是确保高可用性、高性能和稳定性的核心工具。一个完善的监控体系能够及时发现系统问题、分析问题根源并快速采取应对措施,避免故障进一步扩散。本文将从基础设施层、中间件层、容器与编排层、应用与服务层逐步展开,…