血泪~服务器稳定运行 749 天之后 ...
、很抱歉,我的服务器“崩溃”一整天,对不起各位了。很崩溃也很庆幸,因为用户量小,所以造成影响显得并是不那么大。这一天的崩溃让我很崩溃,要是用户量大,该造成多大的影响啊,是不是可以去祭天了。写下这篇文章记录下来以警示自己,生产环境千万不要胡乱操作,不然后果难以估计。
事故缘由
公司使用微擎二开,微擎是一个导火索,它无法使用 PHP 8.x 版本,而我的本地和服务器 PHP 版本都是在 8.2 以上。甚至,我本地已经部署了在 PHP 8.4.1 版本了。
为了部署微擎,我在本地尝试了多个 PHP 版本后,最后 PHP 7.4 可以部署微擎。本地折腾完毕之后,我就开始折腾生产环境了。
一切就要从生产环境部署微擎开始了。
生产环境
系统:Rocky Linux 8.x
配置:2 核 2 G
生产环境编译安装了 PHP 7.2.3 且使用 9001 端口。
部署完成之后,微擎完美运行起来了,微擎后台中我寻思着绑定自己的账号,怎么找都没有找到在哪绑定。
- 购买免费的公众号应用后,【选择站点】进行部署,弹出提示“提示:您还没有微擎站点,请先下载并注册微擎。”但是我安装过了呀,仍旧提示,我就没有搞懂了。
- 然后点了【去软擎云端安装】,点【新建云端应用】,安装 【微擎系统 V2】,最后使用提供的命令安装 k3s 服务
- k3s 服务安装完成后,我的网站就出现了不可访问的情况。
查找原因
微擎提供的 k3s
服务安装完成后,我的服务不可访问,我查一下内存使用情况,2 G 内存只剩 76 M 可用,而大头就是这个 k3s 服务。
k3s 服务占用了大量内存
我卸载掉了 k3s 服务,内存降下来了,而服务依旧不可访问,故障如下:
ziruchu.com 拒绝了我们的连接请求。
检查网络连接
检查代理服务器和防火墙
ERR_CONNECTION_REFUSED
对应着故障,我检查了防火墙的相关端口,都开放了,一切都很正常,但就是无法访问。
ping 域名
域名和端口都可以 ping 通,ssh 也可以连接,说明端口都处于开放状态。此时,网站还是不用。
nginx 日志
访问日志和错误日志没有任何记录。
到这里,还没有解决,我提交了工单请求协助解决。然后就去睡觉了,因为第二天还要打工。
到了第二天,腾讯云那边协助帮忙排查了下原因,最后未找到原因,系统没有毛病,一切正常。因此,我的问题也就超出了他们的服务范围,最终还是得自己来的解决。
解决问题
我仔细回想昨天的操作,先是安装了 PHP 7.2.3 ,也就导致了系统处于多版本并存且运行的状态,后是安装了 k3s 服务且已经卸载。那么问题最有可能就是出现多版本上了。
重启是最好的方法?没错,服务器稳定运行 749 天之后,我重启了系统。
top - 22:11:07 up 46 min, 3 users, load average: 0.11, 0.25, 0.13
重启之后,服务正常,我要笑哭了,这是什么操作?
最终是什么原因导致服务不可用,未知。
反思自己
- 生产环境切忌乱动!!!
- 不熟悉的软件切忌不要随意安装
一要定使用的话,先了解它,想想出了问题,能解决吗?