龙空技术网

逆冬:记1次「蜘蛛池」导致宝塔运行堵塞实录!(内附解决方案)

逆冬网站知识分享 372

前言:

眼前咱们对“宝塔nginx启动不起来”大致比较重视,朋友们都想要学习一些“宝塔nginx启动不起来”的相关文章。那么小编同时在网络上网罗了一些有关“宝塔nginx启动不起来””的相关内容,希望我们能喜欢,大家一起来了解一下吧!

最近帮一位徒弟搭建了蜘蛛池、本身蜘蛛稳定在3万左右了,可是好景不长、没2天蜘蛛量突然急剧下降,徒弟过来找我,说服务器非常慢,一看原来是运行堵塞,于是开始研究起来,并且解决问题。

运行堵塞

我们在宝塔里,通过top指令,查看到占用CPU的是php,而php能让我想到的,肯定是有其他爬虫或是有人恶意访问我们的网站,频率非常高,从而使php不断工作,导致运行堵塞,通过查看网站日志,发现一些IP访问的频次非常的高,如下图:

日志

真正导致服务器慢的原因,是因为这些IP不断访问页面,而PHP要不断解析页面,从而使PHP占用了CPU,导致了运行堵塞,既然我们知道了原理,我们就开始想办法屏蔽这些爬虫:

1、从蜘蛛池的层面,因为目前用的是【某旋风】,我们直接禁止游客访问,如下图:

屏蔽游客访问

通过游客访问屏蔽,着实快了不少,因为就算这些IP访问,我们也不用PHP解析页面给他,就不会影响服务器方面的性能。而且这样做的好处是,并不影响蜘蛛访问。

2、从宝塔防火墙的层面屏蔽IP

Nginx防火墙

Nginx防火墙提供IP/URL/UA屏蔽,根据本人实战的结果来讲,不建议用IP屏蔽,因为IP屏蔽的话,他们不仅是C段不同,前面的也会不同,治标不治本。

通过日志,我们不难发现,他们的UA中基本就分为2类,一类带有Android,一类带有Dalvik,于是,我们把带有这两个字符串的UA屏蔽即可,如下图:

UA黑名单

通过对UA的屏蔽,终于,我们的宝塔变绿了,运行也不卡了:

恢复

蜘蛛池

蜘蛛池也基本开始恢复,前2天掉蜘蛛,是因为蜘蛛来到显示502,或是无法打开页面,导致蜘蛛无法循环,从而掉了蜘蛛,

标签: #宝塔nginx启动不起来