• 注册
  • 运维随笔 运维随笔 关注:339 内容:5

    Linux服务器宝塔运行堵塞100%解决办法

  • 查看作者
  • 打赏作者
    • 年SVIP2
      靓号:9999
      宇宙最帅

      问题前言

      近期很多朋友遇到Linux服务器宝塔运行堵塞100%,如下图。Linux服务器宝塔运行堵塞100%解决办法,宝塔面板下nginx屏蔽垃圾蜘蛛禁止抓取不影响火车头发布,解决宝塔运行堵塞100%的最简单的方法。

      Linux服务器宝塔运行堵塞100%解决办法

      解决方案

      故事的开始是群里很多人反映,Linux服务器宝塔运行堵塞100%,于是我自己看了下服务器也是同样的问题,我就查看了一下服务器日志,发现一些垃圾蜘蛛,一直爬行很多,比如以下这些垃圾,太烦人了。

      Mozilla/5.0 (compatible; SemrushBot/6~bl; +http://www.semrush.com/bot.html)"
      Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"

      本人一直使用的linux系统服务器宝塔面板管理,个人感觉比较方便。网上查找方法,屏蔽这些垃圾。

      网上找到的代码如下:目前为止比较好用。

      #禁止Scrapy等工具的抓取
      if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
      return 403;
      }
      #禁止指定UA及UA为空的访问
      if ($http_user_agent ~* "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot|^$" ) {
      return 403;
      }
      #禁止非GET|HEAD|POST方式的抓取
      if ($request_method !~ ^(GET|HEAD|POST)$) {
      return 403;
      }

      宝塔面板下使用方法如下:

      1、找到文件目录/www/server/nginx/conf文件夹下面,新建一个文件“agent_deny.conf”

      内容就是以下代码:

      #禁止Scrapy等工具的抓取
      if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
      return 403;
      }
      #禁止指定UA及UA为空的访问
      if ($http_user_agent ~* "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot|^$" ) {
      return 403;
      }
      #禁止非GET|HEAD|POST方式的抓取
      if ($request_method !~ ^(GET|HEAD|POST)$) {
      return 403;
      }

      2、找到网站设置里面的第7行左右 写入代码:

      root /www/wwwroot/www.laoking.net;
      include agent_deny.conf; (就是添加到这一行的位置。)
      #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则

      如果你网站使用火车头采集发布,使用以上代码会返回403错误,发布不了的。如果想使用火车头采集发布,请使用下面的代码

      #禁止Scrapy等工具的抓取
      if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
      return 403;
      }
      #禁止指定UA访问。UA为空的可以访问,比如火车头可以正常发布。
      if ($http_user_agent ~ "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|YandexBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot" ) {
      return 403;
      }
      #禁止非GET|HEAD|POST方式的抓取
      if ($request_method !~ ^(GET|HEAD|POST)$) {
      return 403;
      }

      按以上方法设置完之后,立竿见影,降下来了,如下图:

      Linux服务器宝塔运行堵塞100%解决办法

      使用说明

      请根据自己实际情况做相应修改

      请登录之后再进行评论

      登录
    • 发布
    • 做任务
    • 实时动态
    • 偏好设置
    • 帖子间隔 侧栏位置: