我在最近作死中总结出的经验

发布于 2022-07-23  1657 次阅读


还得是那句话:不作就不会死。这看似一句玩笑话,但却“蕴含真理”。

当然,我觉得:勇于探索、精益求精的精神还是要有的。

不然就没有这篇文章了。

下面我将从我的作死过程以及如何降低损失/及时止损两方面来记录自己的经历,并总结经验。

目的是让自己以后遇到类似情况时能想起怎么做,也为了让看这篇文章的你以后可以尽量避免这样的错误。

说白了:反面教材。

我的作死过程

我为我的minecraft服务器用namelessmc整了个官网,然后就这样风平浪静地过了一阵子。

后来,namelessmc更新了版本,我肯定也想更啊,然后我就备份了数据库和网站本体(还好当时备份了,不然真的要寄),愉快地升级去了。上传更新文件,点击“更新”按钮。

但是,当我点下“更新”按钮时,它报错了。显示502 Bad Gateway。

我当时挺慌的,赶紧全部回档,数据保住了。然后我就去网上搜了搜,但没我检索出来什么有用的方法,于是我就把这件事放了一段时间。

过了一段时间之后,我实在忍不住了,就去官方github仓库里写了个issue。

官方回复的很快,我也从中得知:是php-fpm的问题,重启一下php-fpm就好了。

你以为这就结束了?怎么可能。

确实不显示502 Bad Gateway了,但是新的问题随之而来。

我当时的mysql版本是5.5,但是升级之后需要5.7。当时就只有部分网页正常,大多数比如用户登录,注册,管理等页面全都显示致命错误。

我当时觉得没什么,安装个5.7版本不就得了。然而事情并没有那么简单。

我几次安装都没有成功,后来我才知道,我的服务器配置不够!

内存太小了,安装的其他软件也占用了不少内存。于是我想着:要不先临时升个配置,等安装成功后再降配?然后我就在网上找了一系列教程。它们说的并没有问题,但是我理解错了。

我买的是vultr的vps,它们都再三提醒磁盘容量不支持降配,但我理解的是只要快照大小比磁盘小就没问题。

这就导致了我升级完了配置却降不了,原来的服务器也销毁了,只留下了服务器ip和快照。

然后我就想着,配置降不下来了,赶紧把快照先恢复到一个vps上吧。

但是原来服务器的root密码我并没存到本地。vultr恢复快照有个特性:恢复快照是将快照作为系统镜像安装到新的vps上,所以root密码没有变化。但是安装完系统之后它又会在控制台里生成一个新密码,那个密码可以说算是一点用都没有。对于用惯了直接在控制台里复制密码的我来说,直接复制控制台里显示的密码肯定没有问题,可是它怎么也登不上去。原来的密码我还不知道。

就这样,我那个快照一点都没用上,相当于我直接亲手把自己的vps销毁了。

万幸的是:里面的重要文件,数据库等我都提前保存到本地了。

下一步我要做的就是:把原来的东西都重新安装一遍。

vps还是最开始的配置。我抱着试一试的心态在最开始配置运行环境的时候装了一下mysql5.7,居然一遍就成了,虽然安装时间比较长,不过我还是很满足。

事情还没完,我保存到本地的数据库副本好像出了点问题,保存成了之前那次更新完出错的那个,然后等我在新的vps上回档的时候,还和之前的情况一样,虽然mysql是5.7版本了,但用户功能还是不正常,语言系统也出问题了。

好在官网里也没啥人注册,除了我发些公告外就没人发帖了。我一气之下把我之前发的帖子都复制了一般,直接重新安装了新的namelessmc,然后把帖子重新发一遍。

最后就剩其他人的账号没保住。不过好像也没啥损失,因为他们注册完账号好像也没用过。

到这里就真的结束了。但其实事情远比这复杂,比如这台vps上还有我搭建的网盘。但这些都是题外话,不过多赘述了。

对上述事件的一些补充

真是一个曲折的故事啊,不,事故。

可能有人看的一头雾水,这里我做一些补充,可能看完你就明白了。

namelessmc

这是一个开源项目,用来做minecraft服务器官网的,功能不少。

官网:https://namelessmc.com/

Github仓库:https://github.com/NamelessMC/Nameless

我最开始用的是2-pre12,后升级为pre13(也就是这次作死)。

vps的升降配

vultr的vps升级配置直接在后台弄就行,但不支持降配。

所以想要降配,就需要一些特殊手段:

先创建一个快照,然后花钱保留ip,再销毁原vps,最后把快照安到新vps上就行了。

关于为什么我降不了配置以及为什么无法登陆等问题,我觉得上面已经写的很清楚了。

那台vps上还有别的东西?

对,还有我搭建的网盘,和一些恶搞网站,比如jvav.tesf.top(对没错,是jvav,不是java,网站已无

都在本地备份一遍显然不太现实,所以我就挑比较重要的保存了:只有我那个网盘和服务器官网。这也是jvav.tesf.top寄了的原因。

本站在那台vps上吗?

不在,那台vps主要是带宽大,所以主要用来做网盘了,但是配置只有1c1g,支持不起太多网站。

网盘怎么样了?

一点问题都没出。

当然我不可能把网盘里的文件都保存到本地,因为除了我的文件,还有其他用户的,虽然用户不多,但我的电脑也容不下那么多文件。

值得庆幸的是:文件本来也不在那台vps上。

如何降低损失/及时止损

就我这次作死来说:

常备份

老掉牙的话题了,不过还是值得说一下。
我的建议是:

隔一段时间就备份一次,因为突发情况没备份是真的要寄。
作死之前备份,这个不用多说。
不时备份到本地一点,要不然就像上面我忘记密码一样了。

环境尽可能一开始就安装较新的

这次就是个很好的例子。其实如果我一开始就安装mysql5.7就不会有这么多问题了。

其他要说的

其实也没啥好说的了,事情说了一大堆,经验也没总结出多少。

不过值得一提的是,宝塔里装的mysql的版本号后面好像都带个-log后缀,但我也不知道为什么。

还有就是phpmyadmin好像不支持php7.4以上版本,之前我安装80版本的时候把74卸了,然后就一直报错,搞得我以为数据库有问题了,后来才知道是不支持php-80。

好了,就写到这吧,我也知道自己文笔不好,就不浪费您的时间了,感谢您看到这里。

届ける言葉を今は育ててる
最后更新于 2022-07-23