读取网站访问IP记录并排序,屏蔽异常IP
定期处理,防爬虫,顺便缓解服务器压力。
如果在nginx的配置文件中设置了access_log项,则访问日志会记录在指定的日志文件中。
此处以默认的路径/var/log/nginx/access.log为例,运行
awk '{print $1}' /var/log/nginx/access.log |sort |uniq -c|sort -n
即可将访问的IP从小到大排序。
在配置文件中使用deny或者allow可以指定拒绝或允许某条(指定IP)、某些(指定IP段)、所有(all)的访问。
例如:
allow 12.34.56.78;
deny 12.34.56.78;
allow 12.34.0.0/16;
deny all;
可以将规则写入到单独的文件中,再在配置文件的server段内,或主文件的http段内,使用include将其包含,之后重启服务即可。