你是不是遇到过这种情况?
网站突然加载慢、用户说提交表单报错,甚至直接打不开。你抓瞎试了半天,重启服务器、清缓存,啥用没有。找运维帮忙,人家手头堆了一堆活,半天没空理你。
其实80%的网站小问题,根本不用求别人。你只要会看服务器日志,几分钟就能定位到根因。今天这篇全是大白话,没有复杂概念,你看完直接就能照着操作。
说白了就是服务器的流水账,啥时候谁来了、干了啥、哪步出了错,全记在里面。你不用管所有日志,常用的就两种。
访问日志:记所有访问你网站的请求。谁的IP、啥时间来的、访问了哪个页面、用的啥手机还是电脑、返回了啥结果,全有。
举个例子:你发现今天网站流量涨了3倍,翻访问日志就能看到,是不是某篇文章被转发了,还是被爬虫爬了。
错误日志:只记出错的请求。代码哪行跑崩了、数据库连不上了、文件权限不够,全在这里写得明明白白。
举个例子:用户打开网站显示500错误,你不用翻代码,看错误日志就能直接定位到哪行代码出问题。
如果你用的是宝塔这类可视化面板,直接在后台找“日志”菜单,点进去就能看到访问日志、错误日志的选项,直接点就能看,不用输命令。
如果你用的是原生linux系统,常用服务的默认日志路径直接给你:
避坑提醒:别随便改日志文件的权限和名称,改坏了服务器可能就不写日志了,下次出问题啥都查不到。
你不用记几十条命令,这3个足够你应付日常所有场景,复制就能用。
适合正在发生的问题,比如用户说现在提交表单报错,你就用这个命令实时刷日志。
用法直接复制:
``` tail -f 你的日志文件路径 举个例子看Nginx实时访问日志 tail -f /var/log/nginx/access.log ```
你运行命令之后,用户每操作一次,你的窗口就会自动跳出新的日志记录。不想看了按Ctrl+C就能退出。
适合找已经发生过的问题,比如昨天下午3点有人报错过,你就可以用关键词搜历史记录。
用法直接复制:
``` 搜所有404错误的记录 grep "404" /var/log/nginx/access.log 搜昨天15点的所有500错误 grep "2024:15" /var/log/nginx/error.log | grep "500" ```避坑提醒:关键词一定要加英文引号,不然关键词里有空格的话,命令会直接报错跑不起来。
刚出问题的时候,你不用翻所有日志,先看最近20条记录,大概率就能找到问题。
用法直接复制:
``` 看最近20条错误日志 tail -n 20 /var/log/nginx/error.log 看日志最开头的20条记录 head -n 20 /var/log/nginx/access.log ```数字可以随便改,想看50条就把20换成50就行。
你拿到日志不用瞎琢磨,先看这两个信息,基本就能找到问题。
日志最后一般都会有个3位数字的状态码,常见的就这几个,直接对照:
举个例子:网站突然所有人都打不开,你按这个顺序查,5分钟就能搞定。
第一步先看错误日志:如果有大量502,直接去重启PHP或者对应的后端服务;如果有500,看日志里的报错信息,提示“connect mysql failed”就是数据库连不上了,去看数据库是不是没启动。
第二步看访问日志:如果错误日志没啥问题,就看访问日志是不是有大量陌生IP,一秒钟请求几十次,大概率是被攻击了,直接封对应的IP就行。
其实服务器日志真没你想的那么高深。今天讲的这几个方法,足够你解决日常80%的网站小问题。
下次遇到网站出问题别先慌,也别乱重启瞎试,先打开日志看两分钟,比你瞎猜半小时管用多了。
现在就去打开你自己的服务器后台,不管是面板还是命令行,试着跑一遍刚才的操作,熟了下次遇到问题,你自己就能搞定,不用再求运维。












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图