你刚搭好一个网站,或者接手了一台老服务器,发现页面打不开、登录总失败、后台接口报500……这时候别急着重装系统,先看看日志——服务器的“黑匣子”,藏了最多真实线索。
日志在哪?先找对地方
Linux 服务器上,最常用的 Web 服务是 Nginx 和 Apache,日志默认路径很固定:
Nginx 日志通常在:
/var/log/nginx/access.log
/var/log/nginx/error.logApache 日志常见位置:
/var/log/apache2/access.log
/var/log/apache2/error.log(Ubuntu/Debian)或
/var/log/httpd/access_log
/var/log/httpd/error_log(CentOS/RHEL)不用翻全文件,快速定位问题
动不动几百MB的日志,不可能手动拉到底。几个实用命令,随手就查:
看最近10条错误记录:
tail -n 10 /var/log/nginx/error.log实时监控新日志(比如你刚重启了服务,想看它有没有报错):
tail -f /var/log/nginx/error.log查某个IP的全部访问记录:
grep '192.168.1.100' /var/log/nginx/access.log查404页面请求(页面找不到):
grep ' 404 ' /var/log/nginx/access.logWindows 服务器也一样能看
IIS 用户别跳过——日志默认存在:
C:\inetpub\logs\LogFiles\W3SVC1\里面一堆 u_ex240501.log 这样的文件,用记事本或 VS Code 打开就能读。想筛出异常状态码?用 PowerShell 一行搞定:Get-Content u_ex240501.log | Select-String ' 500 '看不懂日志格式?对照这个就行
Nginx 默认 access.log 一行长这样:
123.45.67.89 - - [01/May/2024:10:22:33 +0800] "GET /api/user HTTP/1.1" 500 123 "https://example.com/" "Mozilla/5.0..."关键字段从左到右:客户端IP、时间、请求方法与路径、状态码(500 就是服务器内部错误)、响应体大小、来源页面、浏览器标识。
小技巧:给日志加点“颜色”更省眼
装个 ccze 工具,让日志高亮显示:
sudo apt install ccze # Ubuntu/Debian
tail -f /var/log/nginx/error.log | ccze错误行变红、警告变黄,扫一眼就知道哪出事了。
日志不是摆设,它是你调试服务器时最老实的搭档。多看两眼,少重启三次,问题往往就藏在第3行报错里。