前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记录一次个人服务器的运维事故

记录一次个人服务器的运维事故

原创
作者头像
Karos
修改2024-08-10 09:17:43
2110
修改2024-08-10 09:17:43
举报
文章被收录于专栏:MyBlog-Karos

这台服务器用了好几年了,阿里云轻量2h2g(没错,就是这样)。

先来给大家看看这次的服务器监控吧。

在之前的几个小时,大家也可以看到负载基本满载,处理之后舒服了。

先来说说具体的事故发生:

前景:

最近个人在做一款AI应用,其中支付服务我用的node+express+mongodb实现,部署到了这台服务器上(穷鬼只有这一台),正式因为我这台机子比较小,所以我选择以一种新的方式来做,类似边缘计算,把AI调用全部放到客户端进行实现,在调用的过程中进行扣费,扣费的过程通过公私钥加密传输(防止劫持+伪造攻击)。

事故发生

事情从8.5凌晨发生,当时醒来,服务器突然进不去了,但是服务器(阿里云)账号登录权限在同学那(我和同学之前就为了卡个学生优惠,我的号在大学之前就弄过了qwq),总不可能半夜把别人叫醒吧,中间好几次成功进去了,就直接开始排查(有时候又被卡退)。

事故分析

进入Shell直接top/ps一套,然后发现,怎么一大堆php进程占用很高。

这个图是解决之后的了,当时看的时候整整一页都是php-fpm,既然要解决问题,那么肯定是要找问题的引发原因。

所以我找了几分钟,发现了个问题。

在现在新的宝塔版本中,出了专门部署html项目的选项,在早期的时候,宝塔快速部署只支持php,所以我好几些html的静态页面,为了方便是直接部署到php的,所以这里我做了个迁移。

但是负载还是很高。

于是我把大多数的php全在界面上停止了,只留了博客和在开发的项目。

继续top也是一样的效果。

事故解决

所以我就一刀切

代码语言:bash
复制
killall -9 php-fpm # 或者pkill php-fpm

直接全部kill,然后手动重启php服务即可。

这是最近几日,可以看到回归正常,但是可以在图中看到,今天又出现了异常

这里出现异常应该适合我手动启动一个项目,并且进行install有关(安装的kodcloud),然后php-fpm启动子进程,但是这启动的有点多了吧。

既然启动的这么多,那么一定可以设置(没主动用过php进行开发,哈哈哈,对php的了解比较少,大多php开发都是基于原本的代码进行的二开)

来说说怎么设置吧,参考文章:https://cloud.tencent.com/developer/article/1796128

代码语言:bash
复制
vim /etc/php-fpm.d/www.conf

设置 pm.max_children 字段即可

对于宝塔的jrm,可以直接在面板里面修改

设置一下就行了。

除此之外,还推荐大家一个工具:htop,感兴趣的大家可以自行去了解一下。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前景:
  • 事故发生
  • 事故分析
  • 事故解决
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档