记服务器病毒查杀引起的宕机事件

# 起因

top 查看下内存占用详情

发现有 YDService、YDLive 两个进程占用内存有点高

关于此的详细说明 (opens new window)

找到相关的文件(夹)

rm 删除、kill 相关进程

然后重启下服务器

等了一会,用 top 查看正常了

pm2 守护的一些应用需要一个个启动这下真麻烦

当初省事也没有配置相关的启动文件

于是安装启用了 docker

一切还是顺利的

打开 codermore.com 主站

悲剧发生了,无法访问

# 为什么打不开

codermore.com 服务不可用,打开就是空白页

提示你请检查防火墙等

网上也搜索相关的资料

如下排查:

1.

云服务器安全组入站规则中放开 443 TCP 协议端口

2.

nginx 是否正常可启动

nginx -t 测试下

顺便下查看下 nginx 进程情况

ps -ef | grep nginx

3.

nginx 上是否安装了 SSL 模块

开源的 nginx 不自带,需要手动安装

检测方式,到 nginx 安装目录

运行 ./nginx -V

参数中存在 --with-http_ssl_module 即可

nginx 安装 SSL 参考 (opens new window)

4.

检查服务器防火墙

运行 service iptables status 查看

是否开放 443 端口

其实这一步完全没必要,因为自始至终都没有动过这里

5.

查看 https 证书是否正常

这个可以到对应的云服务器后台查看

当运行上面步骤后,网站还是打不开

就让我这个不是专业运维的有点儿毛了

找到腾迅客服,说明原因

最后说是因为 443 端口处于关闭状态

不可能吧,这个未动过

netstat -lntp 查看下有没有 443 端口

发现还真没有

# 启动 443 端口监听

基于上述步骤排查

确定的几个点:

入站规则、防火墙、https 证书、nginx ssl 模块、nginx 运行

正常的

可网站还是打不开

后来发现 http 协议可打开默认页

虽然不是主站页

一想到在服务器上基于 nginx 配置了多个虚拟机

难道是 nginx 配置文件出错了

因为在 nginx 通过 include 命令导入了多个 vhost 配置文件

ps -ef | grep nginx 找到 nginx master 进程

会看到 /usr/sbin/nginx -c /etc/nginx/nginx.conf 这一行

cat /etc/nginx/nginx.conf 查看 nginx 配置文件

原来 include 命令后面的 vhost 路径错了

修正试下

再访问 https://codermore.com 一切正常

# 小结

云服务器市场中的镜像不要随便使用

说不定里面就有挖矿病毒

白白浪费服务器资源

多知道些运维相关命令指定是没错的

不至于每次还要搜索

最后

机器能上 docker 的就上 docker 吧

扫一扫,微信中打开

微信二维码