蜘蛛池的原理(蜘蛛池怎么做)

   搜狗SEO    

最近帮一位徒弟搭建了蜘蛛池、本身蜘蛛稳定在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,或是无法打开页面,导致蜘蛛无法循环,从而掉了蜘蛛,

 标签:

评论留言

我要留言

欢迎参与讨论,请在这里发表您的看法、交流您的观点。