共计 4983 个字符,预计需要花费 13 分钟才能阅读完成。
不知不觉我的博客已经运行了一年之久了,从最开始rjkfteam.top
到现在的pgthinker.me
,零零散散地写了一百多来篇的博客文章。一年说长不长,说短也不短,这一年也恰好记录了我从大二到大三的时光,一种时光恍惚感油然而生。
为什么写博客?
我认为,计算机专业需要学得东西特别多,再加上我想学的、想了解的东西也特别多,在学习或开发过程中难免会碰到知识点遗忘、已修复的Bug复现又忘记如何解决的情况。再加上,我的记忆力确实很差,学一个忘一个的情况经常发生。
所以写博客对我来说非常重要的一点就是:记录;随着记录的内容越来越多,当有同学或网友向我请教一些问题且该问题的相关内容恰巧我的博客中有时,我会直接把我的博客链接发过去让他自己研究(Spring AI、科学上网、ES安装、内网穿透等都有很多人问我),这一定程度上也节省了我自己的时间;之后,我又打算提高我的博客访问量,因为我了解到在求职时,有一个自己的博客网站可以显著提高自己的职场竞争力,于是啊,我又向CSDN、微信公众号等发布我的内容并通过一些简单的手段让读者来访问我的博客,如今我的博客阅读量也快破万了(可惜我原来的博客有2w的访问量没法保留下来);再后来,有很多热爱技术的网友通过我的博客、CSDN、公众号等加上了我和我一起讨论技术(如科学上网、Spring AI、内网穿透最多),这让我认识到了很多拥有共同兴趣爱好的朋友(虽然我很内向、不擅长社交,但是我认识了玩物联网接入AI的、搞网络渗透的、知识付费的等等),这对我的社交带来了很大的帮助;最后,当我看到我的博客文章能够帮助一些网友解决他们的问题并在评论区留下“谢谢”时,我又觉得写博客还是一件利人利己的事,写博客既能促进自身发展,也能帮助到他人,得到精神上的满足。
第一个博客
我在大一下就打算搭建一个博客网站了,最初是按照网上教程,跟着教程使用WP。当时花了80来块买了一年1h1g的百度云服务器。不过当时因为是大一,SSH、Linux、MySQL、PHP、Nginx等好多好多东西都不会,照着教程一个一个敲命令也会出现很多安装不了的问题,系统被我一次又一次的重装,最后终于还是安装上了WP,但是因为不了解WP插件和主题替换配置,导致我安装的WP界面特别丑,以为这就是WP的最终效果,所以后面安装完后,就没怎么往里面写文章了,并且当时还没有配置域名,每次访问都要用IP访问,我也就没有保留下这个博客。
记得当时是在期末周搭建的WP,下午待在图书馆从XShell下载到WP安装完成,一直整到了图书馆关门。
第一个可访问的博客
到了大二,我对竞赛来了十分的兴趣,当时给自己定下了目标:ACM、蓝桥杯、天梯赛、数学建模、数学竞赛都参加一遍(如今这些竞赛都参加了一遍,并且除了数学建模外,都有获奖)。尤其是程序设计类竞赛,简直是着了魔。由于在校期间学业繁重,导致我在校期间除了组织团队的刷题外(当时我带了团队,从新生入团队开始就组织了一个学期的每日刷题活动),就没其他时间刷题了,这也让我没法保证每天大量的刷题,又恰逢疫情,让我在学习上非常懒散。一直到寒假,我才开始正式大量刷题。我记得那个时候,通宵刷LeetCode刷了两天两夜,短短30来天,LeetCode刷了270多道,蓝桥杯官网刷了100道。
而在刷题期间,我也养成了写Markdown笔记的习惯,每刷一道经典题,学了一个新知识点或算法就会记录下来,久而久之,就写了很多算法内容相关的笔记。又恰巧B站的推荐算法非常给力,给我推荐了一个关于使用Mkdocs构建自己Wiki网页的视频。其实如今看来,Wiki网页不算是真正的博客,但对我来说,能分享自己的内容就属于博客。于是我就用Mkdocs构建了一个我自己一个寒假的算法Wiki网站。
-
项目地址:Algorithm-Competition 因为觉得Github名字不好,又重新创了一个我现在长期使用的Github账号。
Mkdocs也是我入门Github的一个非常重要的项目。当时照着视频没有成功部署我的网站,所以就找到了Mkdocs的项目仓库进行学习;除此之外,Mkdocs也是我入门科学上网的一个非常重要的项目,当时访问Mkdocs的仓库地址时非常缓慢,后面通过各种方式了解到了如何快速访问Github,并在能访问Github的时候下载了开发者边车,这个软件可以说是我的第一个代理软件,保证了我每时每刻都可以访问Github。而能顺利访问Github后的故事就不用多说了,当我想学习科学上网时,Github一搜就是一大堆。
第一个拥有域名的博客网站
Mkdocs搭建网站是可以依托于Github Page的,也就是说用的是Github的域名。这也意味着,无法访问Github的人也就无法访问你的网站,或者说当一个不具备科学上网能力的人想要访问你的网站时,加载得就很慢,体验也十分不好。于是,我又回到了用自己的服务器部署一个博客。
在此之前,因为有Github和科学上网的帮助,我花了两天拿下了Docker,掌握了Docker的基本使用,于是就想在Github上找一个可以使用Docker一键部署的博客项目。搜索博客 docker
就找到了一个基于Django实现的博客:izone。因为使用的是Docker部署,所以即使我没有学过Django,我也能成功地花1~2h的时间部署完成。
后来就涉及到域名解析了,众所周知,国内对个人网站的建设非常不友好,凡是国内IP云服务器被其它域名解析或国内域名解析至其他IP主机都需要进行备案。加上我的域名rjkfteam.top
最初是打算用于团队网站上的,所以在备案申请中,因为涉及到了团队,被打回。后来还是百度云的人帮我填写了备案申请,最终才通过。整个申请过程差不多花了一个月。
申请完成后,就是绑定域名了,域名绑定非常简单,通过对博客配置,能够通过http访问。但是当我想给域名配置SSL证书时出现了很多问题。因为原项目的Nginx也是通过Docker部署的,再加上我当时对Nginx不太了解,导致我的SSL证书怎么也配置不上,后来索性就不配置了。于是我的第一个拥有域名的博客:http://rjkfteam.top 就出现了,只是它一直没有配置SSL证书。
网站的破灭与新生
我也不知道为什么取这个标题,我也只想表达我的网站是因为国内网络审查和GFW才被迫关闭的。
在我博客搭建完成后,图床功能一直深受我的困扰。因为izone没有媒体库的功能,导致我文章里的图片需要一个稳定的图床进行存储。而很长一段时间,我都是使用Github仓库来存储图片作为我的图床,再加上izone对资源加载并没有很好的处理,例如图片没有采用懒加载,导致无法加载图片就无法加载博客,又因为我的图床是搭建在Github上的,所以:无法访问Github的人也就无法访问我的博客。这点在我平时并没有发觉到,因为我的电脑天天挂🪜,访问都是很迅速的。后面是我用手机进行访问时才发现网站加载是如此之慢,当时也并未将这个问题归结于图床上,只是以为1h1g的服务器处理能力比较差(当时也花了很多时间研究如何提高服务器的性能,但是并未一点提升效果)。后来因为看了一篇文章,里面提到使用Github做图床被官方发现的话会被封号,于是我才采用云存储来搭建自己的图床。当我的首页涉及到的图片都来自基于云存储搭建的图床后,又发现博客的访问速度异常得快,然后跳到首页第二页的时候,博客加载速度又异常得慢,我这时才知道是我一直用的Github图床造成我的博客加载很慢。
为什么Github加载如此之慢?因为有GFW的存在。
于是我就尝试将以前写得50来篇文章涉及的图片都转移到云存储上,但是因为文章涉及得太多,没法全部转移,索性就不转移了,以后文章中涉及的图片不放在GitHub上就行了。就这样,困扰了我一个月之久的博客访问异常之慢的问题就解决了。
可是当我解决完访问过慢问题后,接踵而来的又是一个问题:因为身份证过期,导致我的域名备案失效需要在一个月内重新备案。我当时觉得重新备案会很顺利,于是将第一次备案的申请表重新拿了过来复用,一个多星期后被打回,接着我又上网搜索个人网站备案注意事项,修改之后继续申请,几天后又被打回。当时又来到了期末周,没有时间和精力来好好做备案申请,于是下定决心,另寻出路。
我第一件事就是登录云服务器把数据库里的所有数据导出并放到我电脑的本地数据库进行备份,并将博客关闭,使用了一个静态网页展示我的博客,大致内容就是:博客迁移。同时我打算将服务器和域名都用国外的,因为国外不需要备案、实名认证等复杂的流程,交钱就能用。再加上之前学习过科学上网,自己搭建过一些节点,国外服务器和域名都有不少,于是我就在一个科学上网的节点上搭建了如今的博客:https://blog.nnlsde.xyz ,当然这个域名已经无法访问了,并且将在24年5月3日过期。为什么我又重新选择使用WP搭建博客呢?
- WP有丰富的主题和插件,网站的附加功能都可以通过主题和插件进行扩展,这对于我这个非常喜欢尝试的人来说非常有用;
- WP提供了媒体库,你的任何资源都可以存储在媒体库,包括图片。这对于我这个经历了Github图床被墙造成博客加载不出的人来说简直就是福音。因为我也省了云存储服务的费用;
- WP的很多主题都支持响应式设计,对于手机端的用户体验也非常友好;
- WP支持跨平台集成,可以和很多的社交平台的在线服务进行集成。
总之功能很多。再加上此时也大二下了,Linux使用、Docker部署、Nginx反向代理、证书配置等工作对于我来说已经变得非常简单了,所以整个博客部署下来都是十分顺利(大一那会丢出去的回旋镖终于还是回到了我的手上)。
对于博客搭建的建议
这篇文章是用来纪念我运行了一年的博客网站,大一到大二整个博客的搭建磕磕绊绊,所以为了给后面想要搭建博客的人不踩我已经踩过的坑,想在此留下一点搭建博客的建议:
-
首次搭建博客应该使用开源的博客项目,而不是使用自己做的。原因有几点:博客的功能有哪些?博客的处理业务有哪些?博客系统中表的设计是什么样?等等好多问题都需要你明白,在没有十分了解一个博客项目的前提下,仅凭自己的感觉设计出的博客是无法长期维护和使用的。当然我也见过一些大佬的博客就是简简单单的静态页面构成,但是对于其它人的体验就不是那么友好了。
-
博客使用的服务器和域名应该优先选择国外的。这点我极力推崇,如果你的博客进行了备案,就意味着你的网站受政府监管,意味着你的内容在写下时需要考虑是否涉及敏感性问题,是否会传播一些不法的信息等等,但你不小心发表了一些不当言论就容易被审查机制审查出来。你的博客就相当于和国家绑定在一起,这点如果你不在意,可以忽略,但对于我这种向往自由的人来说,是难以接受的。如果一个人动手写博客前的第一件事先考虑是否涉及敏感性话题时,这篇博客文章就已经变了味道。
-
博客搭建后,应该坚持内容输出。我看到过很多人博客搭建出来后,内容输出量低、质量低,并且一年10来篇。对于这种输出量很低的博主,我建议使用第三方平台(例如CSDN、掘金等)作为自己的博客,因为在输出量和质量都无法保证的前提下,使用服务器搭建博客的意义不是很大,除此之外还浪费服务器和域名的钱。
-
尽量做好博客备份工作。博客涉及到数据库的话,可以写个Shell脚本每天执行一次数据库数据导出工作;除此之外,写的博客文章可以本地存储一份或在GitHub上创建一个仓库用于存储自己的博客文章,这样就能保证自己的博客即使哪天被攻击或其它原因造成数据破坏后可以第一时间恢复。当然,如果服务器商提供镜像备份功能,那可以每隔一周进行服务器镜像的备份,这样即使服务器被破坏,也能第一时间通过镜像重新构建。
-
做好SEO优化:在发布博客文章时,注意使用适当的标题、关键词、元数据和URL结构以提高搜索引擎排名。可以使用SEO插件(如Yoast SEO)帮助优化博客。
-
坚持产出,提高博客的质量:没有哪个人一出生就是大文豪。但只要坚持产出(坚持产出不意味着天天写),博客的质量就会越来越好。而提供高质量、有价值的内容是吸引和保留读者的关键。