初搭博客记

2023-05-15
8分钟阅读时长

“教练,我想搭博客”

一切要从新冠说起。

苟到决赛圈的本人终于在这个夏天中招了,伴随着将好未好的疹子。尽管早已经是乙类乙管,校医还是义正言辞地说规定上你们还是要去学校外隔离喔。就算本人内心已经咆哮吐槽了八万字,可表面上还是只会弱弱地问说能不能不去啊QAQ。在医务室的座椅上等着她打了一圈电话后,我和舍友得以在宿舍自行隔离。

本着不当病毒喷射机祸害同学们的美好愿景,在没有任何强制措施全靠自觉的情况下,我还是乖乖在宿舍隔离了。唯一感受就是——太!无!聊!了!就算是阿宅也得找点事情做啊喂!

人在无聊的时候总是会重启一些拖延已久的项目,比如搭博客。这个想法从在知乎写文章被 ban 的那天就有了(拜托那只是一篇聊怎么找论文的文章到底怎么敏感了啊喂),然后……然后就没有任何然后了。念头出现了一瞬间就被抛之脑后,“有空再说吧”的之后就是不会再有空。接着到了几年后,网上冲浪的时候逛到了天天的博客。很漂亮,漂亮得想冲到他面前说「教练,我想打(da)篮(bo)球(ke)」的那种漂亮。

也确实冲动之下跑去和他搭话了,仔细想想这居然算是我近几年来唯一主动搭话认识的朋友……总之搞个博客这件事的份量稍微重了一些,又过了大半年(也就是现在),她终于出现了。好耶!

知识的诅咒

早些年他和我说,“我有个感受是这样的,你做事没有条理。虽然在说各种各样提高效率的工具但是工具并不能解决这个问题,条理就是多花时间磨出来的,一点都偷不了懒。”

当时其实并不太能理解他在说什么,但一直记着,也一直在应验着。我所做完的大多数事,都是一时冲动下开始,“来都来了”式地做完收尾。好处大概是大多数时候可以在想要做完的执着下做完,坏处是总在给最初冲动的那个瞬间填坑。

理想状态下,我也许是应当考虑清楚可接受的投入成本、方案的实现难度、用动态还是静态的框架 balabala 之后再动手。实际上的情况是:无聊到看《轻音少女》都走神的时候“搞个博客玩玩吧”的念头突然出现,接着拍脑门说“啊,那先买个域名吧”。于是在 namesilo 花 4 刀买了个域名,接着开始查要怎么搭。决定在 namesilo 买域名的原因非常简单,据说这个性价比高,无业游民就是要省钱啊。再加上推荐它的文章还列举了一系列好处,比如氪金支持支付宝、保护隐私等等。还有逐步操作的图文,谁能不心动呢。记住这个一切的起点,后面生活出题要考(抹眼泪)。

在本麻瓜的粗浅理解中,一个网页想要在互联网上被看到的基本过程应该是这样的:输入域名 -> 解析成 IP 地址 -> 服务器接收请求 -> 返回所需内容 -> 浏览器呈现。

鉴于博客在现在简中互不联网的孤岛时代显得相当古早,那应当已经有很多遗留下来的成熟解决方案了才对,出现麻瓜友好的一键搭建也毫不意外!事实证明,一键搭建什么的是我想多了,麻瓜想要接近魔法世界就是要一层一层地被磨掉皮。

由于我就是想要和天天一样漂亮的博客,于是直接跳过纠结静态还是动态框架的问题,就直接拥抱了 typecho。这是第二个考点,大概比起静态框架麻烦程度翻了一番吧🚬。麻瓜式理解这些框架的作用,大概就是运行在服务器上充当把内容交给浏览器的跑腿角色。动态和静态的实现方式不太一样,静态就是直接上菜,动态还要和其他程序还有数据库什么的打个配合。还是有很多相关的讨论文章的,不需要我班门弄斧(其实是直接跳过完全没怎么查,不好意思瞎说)。

好的,截至目前,我们有了充当门面的域名也有了跑腿用的框架,接下来就需要搞个厨房(服务器)啦。起初因为 @Justin 的这篇博文看起来非常新手友好,文中提到的「腾讯云轻量应用服务器」说是提供了 WordPress、Typecho 等应用镜像,基本选好后重启就能开箱用。于是兴致冲冲地跑去看,加上学生优惠 2 核 2 G 4 M 是 112 一年。够用而且看起来也不贵嘛,买了!

过了十分钟之后就后悔了,怎么会没有人在一开始就提醒说域名所属他喵要在国内才能备案啊(摔)!服务器物理位置在国内的话,网站域名需要给网站域名进行网站 ICP 备案。本守法公民哼哧哼哧地在「腾讯云网站备案」的小程序里填了半天资料,卡在了「域名实名认证」这一步,爆哭。

依稀记得 namesilo 的优势之一是保护隐私,而且它是国外的服务商,也就是说我实名不了。查了一下解决方案是迁回国内,但是新注册的域名 60 天内无法转,而且腾讯天杀的要收我 59 的费用,我买它都没这么贵啊喂!可恶!

那么接下来的处理方法不外乎是重新买个归属在国内的域名或者换成国外的服务器。但被合规按在地上摩擦之后有点气气,再加上我还挺喜欢现在这个域名的,于是果断决定把服务器换成了 vultr。接下来被摩擦的就是我的钱包和某约 1.4 kg 重的碳基生物器官了……

vultr 自然就没有腾讯云那样麻瓜友好啦,为了能够让 typecho 运作起来,得按照要求在服务器上保证它的运行环境。接着我的大部分时间都在和“正确安装 PHP(及扩展)、Nginx 及 MySQL ”斗智斗勇。当初学怎么用 Shell 可是学到想要给道格拉斯·恩格尔巴特(Douglas Engelbart)磕头的地步,学都学了,我怎么可以倒在这一步!

首先需要连接上服务器,在 vultr 买的 VPS 所选的操作系统并没有图形界面,考虑使用 ssh 连接。Windows 下并没有直接带,需要自行安装 openSSH,但也还是要用 cmd。想要麻瓜友好可以用 PuTTY 或者 XShell 连接,有图形界面。之前自修课程的时候装了个 Ubuntu 的子系统玩,一般来说大多数 Linux 发行版都会自带,它也不例外。对 Linux 的操作还不是很熟练,本着熟能生巧这里就用了它操作。

同时心血来潮想要试试免密用公钥私钥连接,基本流程是「生成密钥 -> 把公钥给到 vultr -> 用私钥请求连接」,具体操作如下:

  1. 在本地先用 ssh-keygen -t ed25519 -C "vultr-nckady" 生成了 ssh 密钥。-t 是指定要使用的加密算法类型,这里用了 ED25519,不加好像默认是 RSA,-C "注释" 是添加注释。按提示继续操作完成即可,最后会获得一个私钥和一个公钥。
  2. 将 ssh 密钥添加到 vultr 账户,可以参考它们的帮助页面。注意要在初始选服务器的时候就搞好,不然没办法用。
  3. 使用命令 ssh -i 私钥存放路径 root@服务器IP 连接即可,root 是登陆用户名,默认连接端口是 22,用 -p 可以修改。

不使用密钥的话,可以直接用 ssh root@服务器IP 然后输入密码连接,连上之后才是一切苦难的开始(bushi。

参考着《Ubuntu20.04+Nginx+PHP 7.4+MySQL 搭建 WordPress》,磕磕绊绊地开始手动安装运行环境。但在一开始搞 Nginx 就翻车了,于是参考了《Ubuntu 编译安装带 ipv6 模块的 nginx 并配置 ssl 证书》和《安装 Nginx 笔记》……完全没解决问题。陷入了怀疑人生中,开始思考生命的真谛。

按照文章一步一步当搬运工逐步操作真的有意义吗?这不就是像“中文房间”里的那个人一样?我又真的理解我所作的操作吗?好的教程是不是应当在分解操作过程之余,说明默认读者预设、解释基本原理、可能出现的错误以及解决途径?我是不是对教程的要求太高了?是的,白嫖干嘛还要求这么多!

遂放弃幻想接受现实,终于开始动脑想为什么我明明安装了但输入 IP 看不到“Welcome to nginx”。很简单,因为我看过的教程里,没有人想到麻瓜并不会主动从 Firewall 中把 HTTP 协议默认使用的端口打开,而 vultr 默认开的端口只有 22 号(也就是 ssh 连接的默认端口)。所以答应我,如果你看到了这里,一定要记得进到你的 VPS 设置页面(一般是叫防火墙或是安全组),把必要的端口打开。 如果你也使用 vultr,可以参考官方文档 firewalld-quickstart-guide或是这篇文章

此时已经过去了一天,精疲力竭本人开始寻找捷径。不可能一定要用命令行一点点安装啊喂,就没有更简单更麻瓜友好的解决方案吗!有的,查到了 LNMP 一键安装包宝塔,相关的教程看起来也非常麻瓜友好(比如这个)。立马叛变命令行,酷不酷的不重要,我想把这件事做完!至此,搞完了环境。还顺便去阿里白嫖了一份 SSL 证书,好让她不弹不安全的提示,最后看到“欢迎加入 Typecho 大家族”简直感天动地。

接下来就是换个皮肤,放点之前写的东西充门面啦,这就没什么好说的了。

有时候一点点的信念,可以走很长的路

纵观整个历程,从头脑一热买下域名之后,基本上都是被问题推着走。也许现在这套方案并不是我的最优解——比如我也许没办法维护好这个网站搞不好哪天就被攻击了,再比如 vultr 的服务器可比腾讯的贵多了,再再比如这种时候写博客哪有人看啊——但这是我现在能给出的解。

总归是让我多写了些什么,比如这篇文章。很多时候我都会借着年轻理直气壮地说不知道,不知道要做什么、不知道有什么梦想、不知道如何生活。越是说着不知道,就越是恐慌,总得知道点什么吧?总得继续吧?于是试着在无常中找到一点点的确定性,比如写点什么。好或者不好、有用或是没有用、有人看或是没人看,这都不重要。

人感到寂寞时,会创作;一感到干净时,即无创作,他已经一无所爱。 创作总根于爱。 杨朱无书。 创作虽说抒写自己的心,但总愿意有人看。 创作是有社会性的。 但有时只要有一个人看便满足:好友,爱人。 ——《而已集·小杂感》,鲁迅

最后,无比感谢所有无偿写教程的人,他们是我除了字幕组和译者之外最敬佩的人,以上。

Avatar

枝因

Per aspera ad astra
上一页 思考病躯
下一页 成功不必在我