本文目录导读:

查看 Web 服务器访问日志的方法取决于你使用的服务器软件(如 Nginx、Apache、IIS 或 Tomcat)和所处的环境(Linux 或 Windows)。
以下是几种主流 Web 服务器的查看方法,以及一些常用工具。
第一步:找到日志文件位置
大多数 Web 服务器的日志路径可以在其配置文件中找到。
Nginx (Linux 上最常见)
-
默认路径:
/var/log/nginx/access.log -
常用命令:
# 查看最近 50 行日志 tail -n 50 /var/log/nginx/access.log # 实时监控新日志(按 Ctrl+C 停止) tail -f /var/log/nginx/access.log # 查看错误日志 tail -n 50 /var/log/nginx/error.log
Apache HTTP Server (Linux)
-
默认路径:
- Debian/Ubuntu:
/var/log/apache2/access.log - CentOS/RHEL:
/var/log/httpd/access_log
- Debian/Ubuntu:
-
常用命令:
# 查看最后 100 条请求 tail -100 /var/log/apache2/access.log # 实时跟踪 tail -f /var/log/httpd/access_log
Microsoft IIS (Windows)
- 默认路径:
C:\inetpub\logs\LogFiles\W3SVC1\(编号可能不同,如 W3SVC2 等)- 或者通过 IIS 管理器:
- 打开 IIS 管理器。
- 点击网站名称。
- 在右侧操作区找到 “日志” 图标。
- 查看 “目录” 字段即可看到实际存储路径。
- 查看方式:
- 直接用 记事本 打开(文件较大时会很慢)。
- 推荐使用 Log Parser 或 Excel 打开(将日志导入为表格)。
- 也可以用 PowerShell:
# 查看最近 10 条日志(假设路径为 C:\inetpub\logs\LogFiles\W3SVC1\) Get-Content "C:\inetpub\logs\LogFiles\W3SVC1\u_ex*.log" -Tail 10
Tomcat (Java 服务器)
- 默认路径:
logs/目录下(相对于 Tomcat 安装根目录) - 主要文件:
localhost_access_log.YYYY-MM-DD.txt(访问日志)catalina.out(控制台输出及错误日志)
- 查看命令:
tail -f logs/localhost_access_log.2023-10-27.txt
第二步:高效查看和分析日志
使用 tail 实时监控(最常用)
# 实时查看最新日志(监控实时访问) tail -f /var/log/nginx/access.log
使用 grep 筛选特定内容
# 查找所有来自 IP "192.168.1.100" 的请求 grep "192.168.1.100" /var/log/nginx/access.log # 查找所有返回 500 错误的状态码 grep " 500 " /var/log/apache2/access.log # 查找访问特定路径 "/api/login" 的请求 grep "/api/login" access.log
使用 awk 进行统计
# 统计访问量最高的前 10 个 IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10
# 统计最常被访问的 URL 路径(假设路径是第7列,Nginx格式)
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10
使用专业工具(推荐)
-
GoAccess (终端下的实时分析工具,非常直观)
# 安装 sudo apt install goaccess # Ubuntu sudo yum install goaccess # CentOS # 实时分析 Nginx 日志 goaccess /var/log/nginx/access.log --log-format=COMBINED
-
Webalizer 或 AWStats:生成静态 HTML 报告。
-
ELK Stack (Elasticsearch, Logstash, Kibana):企业级日志分析系统,适合海量日志。
第三步:理解日志内容(典型格式)
一个典型的 Nginx/Apache Combined Log Format 日志行:
168.1.1 - - [27/Oct/2023:10:30:00 +0800] "GET /index.html HTTP/1.1" 200 2326 "https://google.com/" "Mozilla/5.0..."
| 字段 | 含义 |
|---|---|
168.1.1 |
访问者的 IP 地址 |
| 客户端身份 / 认证用户名(通常为空) | |
[27/Oct...] |
请求时间 |
"GET /index.html..." |
请求方法 + 请求路径 + 协议 |
200 |
HTTP 状态码(200=成功,404=找不到,500=服务器错误) |
2326 |
返回给客户端的字节数 |
"https://..." |
Referer(用户是从哪个链接点过来的) |
"Mozilla/5.0..." |
User-Agent(用户浏览器/设备信息) |
常见问题排查场景
- 网站访问慢或打不开: 先看
error.log(错误日志),通常能直接说明原因(如 500 错误、内存不足、连接超时)。 - 怀疑被攻击: 在
access.log中,用grep搜索高频 IP 或异常 URL 路径(如/wp-admin、/xmlrpc.php)。 - 分析访问来源: 查看
Referer字段,看流量是否来自特定网站。 - 找不到日志文件: 检查服务器配置文件的
access_log和error_log指令(Nginx 在nginx.conf中,Apache 在httpd.conf或sites-available/*中)。
最快的方法是先登录服务器,执行以下命令之一:
- Linux + Nginx:
tail -f /var/log/nginx/access.log - Linux + Apache:
tail -f /var/log/apache2/access.log - Windows + IIS: 打开
C:\inetpub\logs\LogFiles\W3SVC1\目录,用记事本或 Excel 查看最新文件。