nginx 如何配置搜索引擎蜘蛛的日志功能?

新人一枚。

做了个网站,想知道被哪些爬虫索引过,询问怎么在nginx里按日期配置不同搜索引擎的日志记录呢?

阅读 2.7k
2 个回答
http {
    map $http_user_agent $ua_log {
        default '';
        ~*(Spiders|Robots|Crawler) "-spiders";
    }

    server {
        if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") {
            set $year $1;
            set $month $2;
            set $day $3;
        }
        access_log logs/example.com-$year-$month-$day$ua_log.log;
    }
}

以上是最精简的配置,你自己拆开复制到相应的配置段落了吧

不过这样的配置,效率真的低,主要有两点:

  1. 每个请求都会执行正则和设置若干个变量
  2. 每次写日志都需要打开文件句柄,关闭文件句柄,效率较低

访问量不高的话,没什么影响,访问量高得考虑更优的方案

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题