首先确定你的网站服务器类型,常见的Nginx或Apache,日志路径为默认配置,无需额外调整:
/var/log/nginx/access.log,直接用cat命令查看完整日志内容:cat /var/log/nginx/access.log/var/log/apache2/access.log,查看命令与Nginx完全一致:cat /var/log/apache2/access.logWindows用户需安装Git Bash(官网下载地址:https://git-scm.com/download/win),安装后在Git Bash终端执行上述命令,操作逻辑与Linux完全一致,无额外差异。
统计所有访问IP的出现次数,快速定位恶意爬虫或暴力破解请求:
执行命令(直接复制,无需修改):
``` awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -20 ```操作说明:该命令输出访问量前20的IP,第一个数字为访问次数,后面是IP地址。若出现陌生IP且访问次数远高于其他IP,即为异常IP,可通过防火墙拦截,Linux下执行iptables -A INPUT -s 异常IP -j DROP即可完成拦截。
找到所有返回404的资源路径,避免死链影响搜索引擎收录:
执行命令:
``` grep " 404 " /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -nr ```操作说明:输出的第一列是404出现的次数,第二列是触发404的URL路径。高频出现的陌生URL需检查网站内部链接或外部引流链接是否正确,及时修正避免权重损失。
定位触发500错误的请求,快速修复网站代码或配置问题:
执行命令:
``` grep " 500 " /var/log/nginx/access.log | awk '{print $7}' ```操作说明:输出所有触发500错误的请求路径,直接在浏览器访问该路径,即可定位代码中的语法错误、数据库连接异常或配置参数错误等问题。

将当前日志复制到独立备份目录,命名带日期的文件方便后续查找:
执行命令:
``` cp /var/log/nginx/access.log ~/nginx_access_$(date +%Y%m%d).log ```操作说明:备份文件会保存在当前用户的家目录,格式为nginx_access_20240520.log,当日志出现异常或需要追溯历史访问时,可直接调取对应日期的备份文件。
设置每天凌晨自动清理超过7天的日志备份,避免日志占用服务器磁盘空间:
第一步,创建清理脚本:
``` vim ~/clean_old_logs.sh ```进入vim编辑模式后,粘贴以下完整脚本内容:
``` !/bin/bash find ~/ -name "nginx_access_.log" -type f -mtime +7 -exec rm -f {} \; ```保存退出vim:按Esc键,输入:wq后按回车。
第二步,给脚本添加执行权限:
``` chmod +x ~/clean_old_logs.sh ```第三步,添加crontab定时任务,每天凌晨2点执行清理:
``` crontab -e ```进入crontab编辑界面后,在最后一行添加以下内容:
``` 0 2 ~/clean_old_logs.sh ```保存退出crontab(操作同vim,按Esc输入:wq)。
操作说明:系统会每天凌晨2点自动删除超过7天的nginx日志备份,无需手动干预,不会误删未过期的重要备份文件,同时保持磁盘空间充足。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图