Contents
前言
从我去年8月25号正式发布第一篇文章以来(8月7号那篇只是测试),距今差不多刚好1年,这一年中我都不记得为了折腾这个博客学了多少东拼西凑的知识,以及到底踩过多少深不见底的坑。时至今日,虽然勉强算是出了新手村,但是新的知识点仍然时不时出现在眼前,迫使我每天都在不停的学习,真是痛并快乐着。
只是,随着简中互联网环境的愈发封闭,加之国内搜索引擎对个人博客的极度不友好,导致大量的在国内建站的个人博主断更,而之前大量作者创作的技术内容被几个头部APP垄断,在资本的不停侵蚀下纷纷走上了收费的道路,"自由分享"的精神在简中互联网遭受到了严重的打击。
这种情况下,最受伤害的其实是那些真正想要开始学习的新朋友,以搭建个人博客为例:当有人提出如何搭建自己的个人博客类的问题时,下面的回答往往就是各种推荐国内云主机及相关产品、或者各种技术框架然后附上自己的课程。。当然也不是说这些完全不正确,但是这时候最重要的,难道不应该是先把可选的建站路线以及各自对应的优劣势说清楚,以便大家在一开始就能做出最适合自己的选择,不至于因为不识天数而化为灰灰?
还记得封神演义中,不识天数的恶果吗?当身后传来申公豹的经典语录:"道友请留步"时,如果能提前知晓天数,头也不回的撒腿就跑,自然就能必避过劫数,不必上那封神榜走一遭。
鉴于此,我萌生了写一个"从零开始搭建个人博客之完整攻略(最低成本)"的想法(源于华夏民族对龙的好感,我本来想取个"从零开始搭建博客之一条龙全套服务"之类的名字,不过最终还是放弃了),一方面希望能够给新手朋友提供一个从无到有搭建个人博客的完整攻略,能够少踩一些深不见底的大坑(小坑是免不了了的,经验都是吃亏吃出来的);另一方面,也是为我这一年来建站所得相关经验做一个大概梳理。
当然,这个"最低成本"并不是绝对的,视每个人的具体情况而定:如果选择wordpress之类的需要数据库支持的动态博客是需要一个主机的,这个主机可以是本地硬件,也可以是云主机。只是不管是硬件还是云主机,多多少少肯定是有成本的,只不过,在我一直倡导的"家庭数据中心"理念的加持下,自己家里任何已有硬件(NAS、闲置硬件等,只要能安装docker就行)都可以利用起来,这样"最低成本"就取决于你闲置硬件的成本;当然,如果自己家里没有闲置硬件或者不想使用家里的硬件,也可以使用云主机的方式搭建动态个人博客,这种情况最低成本就取决于云主机的价格;或者,如果选择使用静态博客并使用免费托管服务,完全可以做到0成本。不过,就算是金钱可以0成本,但是学习所花费的时间和精力可少不了。
注:因为每个人的实际情况和选择不同,后续搭建博客可选的路线也不同。
第一节:你是否真的要踏上"个人博客"这个刺激之旅?
在当下的年代,个人博客某种程度上来讲已经是过时的东东了,现在来搞个人博客,无异于49年入国军。目前国内还在坚持写个人博客的博主们,大多是养成了写作的习惯或者为了寻求一块属于自己的能够随意碎碎念而不会被随意删帖和封号的心灵圣地而已,但是付出的却是大量的精力和时间成本:学习、写作、维护等等(靠博客赚钱普通人就不要想了,不但赚不了钱还要亏钱~)。所以,如果只是一时兴起想玩玩,或者对写作本身并无兴趣,我并不建议浪费精力来搭建个人博客,可以考虑下其他现成的平台,只不过嘛,选择现成平台就要受制于人,只能期待不要遇到被删帖和封号了,鱼和熊掌毕竟不能兼得。
注:关于是否需要个人博客的探讨,可以参考我之前的文章"从我的博客诞生始末观当下个人博客存在的意义"。
第二节:旅程开始之前请阅读安全须知,不要选错了路
假如你终于下定决心,决定开始这一趟未知且刺激的旅程,那么首先需要对该旅途的关键景点有个大概的了解(特别是国内的朋友,因为你运气很好,刚好处于仅有的几个很有特色的网络区域之一,从这里出发的难度比其他正常区域起码高了10倍),包括但不限于以下内容:目标读者所在的区域(国内还是国外)、博客的搭建方式(静态还是动态)、博客建站的地点(解析IP地址是国内还是国外)、博客的路线和外观布局、合适的图床方案以及后续的进阶需求:访问加速和DDos攻击防护等。。是不是被这么多景点内容吓到了?其实不用怕,只需要有一份靠谱的旅程安全须知就行。
此时,关于"安全须知"你是否会有如下图一般的问题:
前段时间我有感而发写过一篇文章:家庭数据中心系列 独立个人博客搭建及避坑指南,就权当做这份安全须知吧。
第三节:从各自选择的路线出发开始旅程
在认真阅读过旅程安全须知之后,相信大家都有了自己适合的路线,那么,就正式开始旅程吧。
路线一:国内建站
先明确一下国内建站的含义:这和搭建博客的VPS(如果用了VPS的话)实际上位于国内还是国外关系不大,只和博客域名最终解析出来的IP地址归属是国内还是国外有关,是国内就属于国内建站,是国外就属于国外建站(这点很重要,如果套了CDN就是CDN地址的归属)。
使用云主机搭建博客
关于国内建站的一些基本常识(购买域名、购买云主机、备案)我在"避坑指南"里都谈过了,这里就不重复了。总体上而言,在国内建站,购买国内云主机然后以此来获取域名备案资格基本是必经之路(本来就是用这个来限制建站的可选方式,从而实现控制国内网站规模的目的,不过买云主机的目的是获取备案码,如果可以直接搞到备案码,那不买云主机也行),既然都有了云主机,那我建议新手朋友直接就利用云主机使用wordpress来搭建博客,这样建站的学习成本是最低的(有多低?只看一篇文章:家庭数据中心系列 WordPress极速搭建个人博客之零基础新人直升大礼包)博客框架就可以搭起来了,至于搭建wordpress的方式,是使用宝塔面板源码部署、或者使用docker方式部署(使用docker run方式部署wordpress可以参考文章:docker系列 使用docker基于wordpress架设博客从站点并实现主从站点配置定期备份,不过还是推荐使用docker-compose的方式最省心,适合初学者),就全凭大家喜欢了。
注1:由于国内不允许个人备案有评论功能,所以如果使用wordpress搭建博客,需要放弃自带的评论功能(有评论不批准即可)。
注2:搭建动态博客也不是非要wordpress,也还有其他选择,只是相对来说,wordpress使用的人最多,各种教程资料、插件也多,对新人来说我感觉是最友好的。
注3:也不是说有了云主机就非要用wordpress之类的动态博客,其实跑静态博客也可以,比如在云主机本地部署一个hexo搭建的静态博客之后(可以参考文章:家庭数据中心系列 使用hexo搭建静态博客并部署到到cloudflare pages的"本地部署"部分),可以直接利用其提供的本地页面(http://localhost:4000)
配合反向代理进行发布,只是由于性能问题(本地页面只是轻量级的web服务),所以需要配合CDN使用。
注4:理论上来说,为了备案购买便宜的云主机(比如腾讯云可以获得备案码的最低要求是轻量服务器),常常不得不面临以下的尴尬:便宜的云主机性能是一个问题,而性能好的云主机又太贵,很让人纠结。原本为了这个问题,就该我的"家庭数据中心"方案闪亮登场:使用家里性能好的硬件设备代替云主机部署各种应用(包括动态博客)进行发布。不过这个方案需要公网IP地址,考虑到很多朋友的家庭宽带都不满足,而且现在三大运营商对使用家庭宽带建站也查得很严,我就不正式提这个用法了,不过如果有朋友有这个条件又想挑战一下,有一些注意事项,细节可以参考文章:家庭数据中心系列 从这次家里被断网谈当下个人博客建站的可选方式。
选择合适的图床方案
图床是正式开始撰写博客文章之前就需要解决的一个前置问题。
什么是图床?图床就是一个专门用来存放和管理图片的在线工具或服务。你可以把图片上传到图床上,然后获得一个图片的链接,这样你就可以在博客、社交媒体或其他网站上直接使用这个链接显示图片,而不用把图片存放在自己的网站里,这样既省空间又方便管理图片。
国内图床的选择很多,也有很多免费的图床可以选择,这里我就不多提了,大家网上搜搜就是。
除了选择免费的图床服务,还可以选择自建图床(为了域名备案购买的云主机又发挥作用了),其中比较出名的是chevereto,详细配置可以参考文章:docker系列 使用docker基于chevereto搭建属于自己的图床;如果需要使用chevereto给图片打水印,可以参考文章:奇技淫巧系列 使用chevereto给图片增加水印。
注:图床需要和后面要讲的反向代理以及CDN搭配使用。
熟练掌握反向代理配置
使用云主机搭建博客,一个必须掌握的技能就是配置反向代理了。
什么是反向代理?反向代理就像是你家门口的“接待员”。当有人(用户)想访问你家的某个房间(应用)时,他们不会直接进到房间里,而是先在门口告诉接待员自己要干什么。接待员会决定是否让他们进来,并且把他们引导到正确的房间。这不仅保护了你的房间(应用),还可以管理和分配这些来访的人,让整个过程更加有序、安全。
反向代理功能可以通过多种软件来实现,专门的有NPM(nginx Proxy Manager),具体配置方式可以参考文章:docker系列 使用docker基于NPM搭建自己的反向代理;如果本身就使用了宝塔面板(宝塔面板的简单介绍可以参考文章:linux面板系列 宝塔面板介绍),那么具体配置方式可以参见文章:linux面板系列 配置反向代理并使用非443端口进行发布。当然,反向代理实现的方式其他还有不少选择,但是原理都是一样的,我就不一一介绍了。
使用CDN(内容分发网络)加速博客访问
博客搭建起来之后,就要对外发布了,此时,极不建议直接使用云主机的公网IP发布博客,有如下原因:
1、这会直接暴露云主机的IP地址,带来重大的安全隐患:云主机需要直面各种类型的攻击,这对云主机系统的安全要求有非常高的要求。
2、对于DDoS攻击,除了消耗云主机系统资源以外,更可以直接把云主机流量包的流量直接消耗完,导致云供应商对云主机进行断网处理。
3、由于地域限制,离云主机远的地区访问会变慢。
4、云主机上行带宽通常较小(3兆-6兆),访问量稍大的时候会成为瓶颈
所以,这个时候就需要和CDN(内容分发网络)配合了。
那么什么是CDN呢?CDN就是一种加速网站和应用的技术,它把网站的内容(比如图片、视频、网页等)分布到全国多个服务器上。这样用户访问时,会从离他们最近的服务器获取内容,加载速度更快,减少卡顿,同时还能减少服务器压力和提高安全性。
使用CDN之后有如下好处:
1. 提升性能和用户体验
• 减少延迟:CDN通过将内容缓存到离用户最近的服务器节点,能够显著减少数据传输的延迟。这样可以加快网页加载速度,提升用户体验。
• 加快静态内容加载:CDN缓存常见的静态资源(如图片、CSS、JavaScript等),使这些资源能够更快地被加载,进一步优化页面性能。
2. 减轻服务器负载
• 分散请求压力:CDN将用户请求分散到多个节点,减轻了源服务器的负载,尤其是在流量高峰期,可以防止服务器过载。
• 缓存策略:CDN可以缓存频繁访问的内容,减少源服务器的处理压力和带宽消耗。
3. 增强安全性
• DDoS防护:CDN的工作方式可以提供部分DDoS防护功能,通过分散攻击流量并过滤恶意请求,保护源服务器免受大规模的攻击。
• 隐藏源IP地址:CDN在前端作为缓存层,能够隐藏源服务器的IP地址,降低直接攻击服务器的风险。
4. 降低带宽成本
• 优化流量分发:由于CDN可以缓存大量静态内容,并减少源服务器的直接流量传输,这有助于降低服务器带宽消耗,从而减少带宽成本。
• 压缩和优化:许多CDN服务会对传输的内容进行自动压缩和优化,进一步减少传输数据量。
5. 地域扩展
• 覆盖全国用户:CDN允许开发者轻松扩展其应用的覆盖范围,不同地理位置的用户能够从更接近自己的节点获取内容,从而享受到更快的加载速度。
可以说,国内建站最大的优势就在于可以使用国内CDN,和使用国外CDN的站点比起来,用户访问体验是完全不一样的。
注1:国内CDN供应商的选择倒是比较随意,只要有备案域名,选择任意一家都可以,不过,理论上尽量选择云主机供应商的CDN服务,比如使用阿里云的云主机,就选阿里云的CDN;使用腾讯云的云主机,就选腾讯云的CDN,这样的好处在于:同一个供应商的CDN在访问自己的云主机的时候属于系统内部访问,不受云主机上行带宽的限制。
注2:国内CDN不像cloudflare的CDN那样提供免费的基础服务,所以引发一个需要注意的问题:如果被类似DDoS攻击的行为消耗CDN流量是无解的,只能通过设置CDN本身的使用阈值来被动应对,不过这种应对是会中断站点的正常服务的。
注3:原本这部分应该附上一个CDN的配置教程,不过由于国内CDN厂商实在太多,且每个的配置和功能都有一定的差异(比如腾讯云CDN不支持IPv6回源,但是阿里云CDN支持),附一个意义感觉也不是很大,加之我本来就不推荐使用备案域名的方式搭建个人博客(除非你清楚的知道自己需要什么),所以这里就偷个懒,大家有需要自行在网上搜下教程吧。
其他进阶配置
对于国内建站的个人博主肯定以省钱为主,所以估计绝大多数最多就买个CDN流量,至于WAF或者DDoS防护那是想都不敢想:
看这个价格我就没兴趣认真看了,根本就没有个人用户的选项,更别说还想免费使用了,这样导致的直接结果,就是国内建站方式搭建的个人博客基本都是裸奔状态。
注1:百度搜索引擎现在对个人博客收录很谨慎,所以"国内建站并想靠百度搜索引擎来引流"的想法基本上很难实现。
注2:现在腾讯云推出了EO(Edge One)边缘安全加速平台,提供包括WAF、DDoS等功能在内的一体化方案,个人版29.9元一个月,国内建站又不想裸奔的朋友可以考虑,我也没用过,效果如何我也不知道,只是随口一说:
注3:由于众所周知的原因,国内的互联网在一定程度上与国际互联网是分隔的状态,尤其是在数据路由和跨境流量方面。因此,很多国际攻击源可能无法有效地接触到国内目标,导致国内建站方式在统计上遭遇境外发起DDoS攻击的频率相对较低(某wall偶尔也有正面效果)。不过也正因为此,如果遭遇了DDoS攻击,来自国内源的可能性就大了很多(还是有来自境外源的攻击,只是数量和比例上没有国外建站时遭遇的那么多),而阿里云和腾讯云在DDoS防护方面,擅长应对这种大量国内源、少量境外源发起的攻击(所谓强龙压不过地头蛇),毕竟江湖地位上来说,阿里腾讯和当年的杜月笙还是相当的。
路线二:国外建站
我相信对于绝大部份个人博主来说,域名备案都是一个相当让人头疼的事,甚至很多原本有潜力成为很厉害的个人博主的朋友,都在这第一步被强行劝退了,且就算完成了域名备案,之后还有很多坑在等着(同样参考前面的避坑指南),所以我建议新朋友直接就选择不需要备案域名的国外建站这条路线,这样云主机也不是必选项了,唯一必须花钱的项目就是购买域名。
注1:如果选择了国外建站,有个大名鼎鼎的名字基本就绕不过去了:cloudflare,俗称"大善人",提供免费CDN、免费DDoS防护、免费web应用防火墙、免费对象存储等等建站的一条龙服务,虽然这些免费的功能都有种种限制,但是对于一般的个人站长正常情况下完全够用,可以说学会cloudflare基本的使用是个人站长的必修课,那么如何快速了解cloudflare对个人站长的价值呢?请参考文章:家庭数据中心系列 cloudflare教程(一) CF相关介绍及其对个人站长的助益)。
注2:即便走的国内建站路线,还是可以通过cloudflare的"自定义主机名"功能白嫖大善人的一揽子免费服务的(前提是本来就有一个完全托管在cloudflare上的域名,可以将"自定义主机名"功能理解成买一送一的赠品),唯一的问题在于对国内访问者来说,大善人的CDN可能是负优化,无法和国内CDN的体验相比(为了解决这个问题,随之而来了多种民间手段:优选IP、优选域名之类,不过说实话,效果都有限,我也并不推荐这些折腾且效果不大的方法),且"自定义主机名"方式接入的域名地位上类似于以前的通房丫头(名不正言不顺的,不是正规的三妻四妾),所以无法完全享受正式托管在cloudflare上的域名能享受的全部功能(比如worker加速大法或者一些深度集成的功能)。
博客的选择:静态 vs 动态
使用免费托管服务搭建静态博客
当你选择国外建站这条路线之后,你会发现一片新天地—-可以白嫖的世界:除了上节提到的cloudflare之外,最关键的是,搭建博客的方式多出了一种选择:零成本的静态博客。github pages、Vercel、Netlify、cloudflare pages等都支持免费托管静态站点,虽然肯定有限制,但是对于一般的个人博客来说完全够用了。所以,如果实在不想花钱又想拥有自己博客的朋友,静态博客托管方案非常适合。
注:如果想要使用hexo在choudflare pages上搭建静态博客,可以参考文章:家庭数据中心系列 使用hexo搭建静态博客并部署到到cloudflare pages。
搭建动态博客
如果选择搭建动态博客,那么仍旧还是需要载体:
1、云主机
如果要使用云主机作为载体,优先考虑国外的云主机,不管是部署docker还是在linux上使用apt等方式安装软件都方便;想利旧国内原有的云主机也可以,不过回源方式最好是使用cloudflare的tunnel,也就是说域名需要托管在cloudflare上(关于云主机上及tunnel的详细配置参考文章:家庭数据中心系列 通过tunnel技术,让无公网IP的家庭宽带也能白嫖cloudflare实现快速建站(推荐))。
什么是tunnel?一句话总结:如果域名托管在cloudflare,那么可以通过tunnel技术架设一条全加密的隧道,将cloudflare边缘网络和家庭宽带内网打通,从而达到使用域名能够直接访问家庭宽带内网部署应用的效果(其实就是cloudflare自己的内网穿透)。
注:其实,使用国内云主机搭建动态博客并通过国外CDN厂商(例如cloudflaref)发布,除了使用上面提到的cloudflare的tunnel方式回源,直接使用公网地址方式回源技术上是没问题,不过按照现在这种监管力度,将国内云主机作为未备案域名网站的源站太过于冒险了,所以不推荐使用(国外云主机就没这个忌讳了)。配置过程倒是简单,可以参考文章:家庭数据中心系列 通过国内备案云主机白嫖cloudflare实现国外快速访问国内站点;如果使用非80、443的端口发布应用,需要配置cloudflare的Origin Rules,详细配置可以参考文章:家庭数据中心系列 通过cloudflare的Origin Rules解决建站有公网IP却没有合法的80、443端口的问题。
2、家庭数据中心
在国外建站,我的"家庭数据中心"方案终于可以崛起了,最关键的支撑技术就是前面提到的tunnel,其不需要公网IP,又是基于tcp协议的全加密隧道,又安全又实惠,实在是使用家庭数据中心方式建站的利器。
注1:在绝大多数情况下,tunnel都能稳定的运行,不过偶尔也会有tunnel运行不稳定的网络环境(比如运营商在某个区域对cloudflare的IP段实施特殊策略)。
注2:关于tunnel支持的多种场景分析可以参考文章:家庭数据中心系列 cloudflare教程(九) Zero Trust常用功能介绍及多场景使用教程。
注3:关于家庭数据中心可以折腾哪些东东,可以参考我以前的文章"家庭数据中心系列 搭建家庭数据中心所涉及到的关键应用介绍"。
图床的选择
除了和国内建站同样使用chevereto自己搭建图床这种选择外,国外图床的选择就更多了,我这里推荐使用cloudflare的R2(对象存储)来作为图床,其免费额度一般的个人站长完全够用,另外还可以和cloudflare的CDN无缝结合,非常省心。
注:使用cloudflare R2搭建图床的详细步骤参考文章"家庭数据中心系列 cloudflare教程(八) CF R2功能介绍及基于R2搭建图床的详细教程"。
反向代理(可选)
由于我推荐使用cloudflare tunnel方式进行回源,也就是说cloudflare可以直接使用需要发布的域名来关联内网应用的IP和端口,所以反向代理就不是必须的组件了:
不过,如果想要更加安全的应用环境(cloudflare虽然提供了很多免费的安全功能,但是只能算最基本的安全),还是可以添加各种用途的反向代理的,比如:反向代理形式的WAF(web应用防火墙):
cloudflare CDN
文章前面我提到过,cloudflare提供免费的CDN服务,不过,默认配置下CDN缓存的内容非常少,最关键是不缓存html页面,所以需要根据自己博客的类型进行相应的设置(静态博客缓存很简单,但是动态博客需要配置策略排除不能缓存的内容),这在cloudflare中是在缓存规则中进行配置的,详细的缓存规则设置方法参考文章:家庭数据中心系列 cloudflare教程(六) CF Cache Rules(缓存规则)功能介绍及详细配置教程。
其他进阶配置
在国外建站,各种扫描、攻击、爬虫每天都少不了:
因此和国内建站比起来,WAF功能和DDoS攻击防护的重要性大大提升,此时,cloudflare免费提供的WAF和DDoS攻击防护功能就显得尤为珍贵。
无限流量且免费的基础CDN、免费的基础WAF和DDoS防护功能、免费的静态站点托管功能、免费的一定额度的D1 SQL数据库、每天一定额度免费的worker请求、强大的重定向等等功能,如果按照Edge One个人版 29.9/月提供的功能和流量相比,cloudflare这些免费功能搁在腾讯敢卖1000一个月我都信~。
不过,cloudflare的Free计划只是别人允许你白嫖,但是你自己有没有本事白嫖可是另一码事了,嗯,想起一个电影场景:
想要把这些免费功能都用好可不是一件容易的事,需要个人博主付出大量的精力去学习相关知识(比如WAF、DDoS防护、worker加速大法等等),最好是能跟着专业的"cloudflare学习地图",系统的学习cloudflare的整体解决方案,理论+实战,才是最高效、印象最深刻的学习方式。
然后,关于"cloudflare学习地图"你是否又会如下图一般的问题:
赶巧了不是,我上一篇文章刚好就是cloudflare学习地图,想深入研究cloudflare的朋友跟着地图走就是,本文中我就不啰嗦了。
第四节:为旅程挑砖加瓦
文章前面的内容,其实都只是围绕"基建"这个中心,目的是让博客有最基本的可访问性以及安全性,搁在项目里就是:机房建设、布线、设备上架及调试等等,只不过,当博客搭建起来之后(验收通过),中心自然就会从"基建"转移到"运维"了。
所以这部分内容就简单介绍下我认为和博客"运维"相关的几个主要知识点。
高效的撰写博文
很多博主在撰写博文时,都是使用的markdown格式,所以就绕不开markdown编辑器(比如我习惯使用obsidian)。我在使用obsidian写文章的时候,最先要解决的问题就是如何高效的在文章中插入图床的图片(总不能手动将图片上传到图床,然后获取图片链接再粘贴回文章吧?图片多了那不得累死),所以就有了通过obsidian+Picgo+对应图床的解决方案:如果使用的chevereto做图床,可以参考文章:奇技淫巧系列 chevereto+PicGo+Obsidian实现高效的图床图片上传及图片url获取;如果直接使用cloudflare R2做图床,可以参考文章:家庭数据中心系列 cloudflare教程(八) CF R2功能介绍及基于R2搭建图床的详细教程。
在博文中分享文件
有时候,因为一些项目的官方链接国内访问不畅,导致需要在博客文章中提供文件的直接下载:
下载链接当然可以使用国内云盘的分享链接,但是这个分享链接需要保证访客可以使用,我们都知道国内云盘的尿性:要么不是付费会员就下不动(百度云盘),要么就是有些文件类型不能分享(阿里云盘不能分享zip格式文件),所以使用这些云盘分享链接对访客的体验是无法保证的。
鉴于此,自建应用提供分享链接是一个很好的选择,常规方式有两种:
1、自建云盘
可以使用开源的云盘解决方案,比如nextcloud,提供完整的云盘功能,并能够通过插件扩展与众多著名的软件进行集成:
详细的搭建过程可以参考文章:docker系列 使用docker基于nextcloud搭建自己的个人网盘。
2、轻量级文件分享
虽然nextcloud很强大,不过如果我们不需要那么多功能而只是想简单的提供文件下载,那么轻量级的文件分享就很合适了,比如pingvin-share,且pingvin-share有它的特色:可以通过一个固定链接分享一组文件,且分享的文件可以自行删除或者添加而分享链接不变,这在分享之后需要修改部分文件时尤其有用:
详细的搭建过程可以参考文章:docker系列 使用docker基于pingvin-share部署轻量级文件共享平台。
站点健康监控及故障即时通知
作为一个专业的个人博主,在站点因为各种原因掉线时应该在最短时间内知道并进行处理,这就需要站点健康监控和故障即时通知两方面的结合,站点健康监控可以使用uptime-kuma:
故障即时通知可以使用bark-server(需要iphone、macos、ipad),详细的配置步骤可以参考文章:docker系列 搭建基于uptime和bark的应用实时健康监测及报警系统和docker系列 搭建基于bark server的消息推送服务器。
统计博客访问量
经常了解博客的访问数据,这也是日常运维工作中很重要的一个部分,推荐使用umami,可以从多个维度统计站点的访问数据:
umami详细搭建步骤参考文章:家庭数据中心系列 当下最新版umami(2.11.3)详细搭建教程。
以上内容只是我觉得最主要的几个和平时"运维"最相关的,其实还有更复杂,更好玩的玩法,比如"家庭数据中心"停电、断网时,云主机作为灾备站点自动接管博客服务(参见文章:家庭数据中心系列 活用cloudflare tunnel实现wordpress主站点故障时灾备站点自动接管);或者多个wordpress节点数据库的自动同步(参见文章:家庭数据中心系列 wordpress多节点”半自动”、”近乎”实时同步方案)等等,不过这些高级玩法都需要涉及到很多底层支撑技术,比如syncthing多点同步(参见文章:docker系列 使用docker基于syncthing实现多点文件夹同步之详细教程)还有tailscale(参见文章:家庭数据中心系列 虚拟组网技术的运用),还有一些数据库、shell脚本方面的实操,如果大家有兴趣可以研究研究。
注:博客还有很多关于解决某个需求点的文章,像让wordpress支持多语言翻译、解决wordpress的各种报错等等,类似的文章还有很多,大家有兴趣都可以看看,我这里就不一一列举了,主要是太多了,几句话根本说不完。
第五节:旅程慢慢其修远兮,我辈将上下而求索
经过前面的步骤,个人博客算是搭建起来了,你也算在互联网上有了自己的一个小家。只不过,搭建起博客只是一个开始而已,后续能否长期坚持写作才是最难的事,你可能会因为很多原因断更:不知道写什么、写了之后没人看、平时工作忙没心情写、搜索引擎不收录、维护麻烦等等,很多个人博客的博主最后断更无外乎就是以上的这些原因。
但是,总有部分博主能坚持下来,找到拥有自己博客的快乐,特别是在国内这个无法畅所欲言的网络环境下,在网上有自己的一亩三分地是非常难能可贵之事。
而我,也真心希望在这场漫长的旅程中能够有更多的同路之人。
后话
这篇文章对我而言,也算是对去年8月底到现在这整整1年时间里,折腾个人博客及相关技术领域的一个泛总结,从中可以看出,这一年来我主要都是围绕"搭建个人博客"这个中心在搞基建,直白的说其实就是在补课,补相关领域各种欠缺的基础知识和动手能力的课,谁叫我之前眼高手低只会动嘴忽悠用户呢(作为一个合格的销售工程师,画大饼忽悠客户是必备的能力,可不止我一个~)。
不过,现在我基本度过了新手期,关注重心也要慢慢转移到各种新的应用技术上了,想想还有点小激动呢。