宝塔面板集成了网站运行所需的各类服务管理功能,其中网站访问日志分析是维护站点稳定、排查访问问题的重要操作,用户无需手动登录服务器终端,就可以在面板内完成日志查看、筛选和基础分析工作。

宝塔面板中网站访问日志的存储路径
宝塔面板会根据网站使用的Web服务类型,自动将访问日志存储在固定目录下,常见Web服务的日志路径如下:
- Nginx作为Web服务时,单个网站的访问日志默认存储在
/www/wwwlogs/网站域名.log路径下,错误日志存储在/www/wwwlogs/网站域名.error.log - Apache作为Web服务时,访问日志默认存储在
/www/wwwlogs/网站域名-access.log,错误日志存储在/www/wwwlogs/网站域名-error.log
用户也可以手动修改日志存储路径,在宝塔面板左侧导航栏点击网站,找到对应站点点击设置,在配置文件中修改access_log和error_log对应的路径即可。
在宝塔面板中查看网站访问日志
查看实时日志
进入对应网站的设置页面,点击日志选项卡,即可看到实时的访问日志和错误日志内容,面板会自动刷新最新的日志记录,方便用户排查刚发生的访问异常。
下载完整日志文件
如果需要离线分析或者日志内容较多,可以在文件管理器中进入/www/wwwlogs/目录,找到对应站点的日志文件,点击右侧的下载按钮即可将日志保存到本地。
网站访问日志的常见分析场景
排查404等异常状态码
访问日志中每一条记录都包含请求的状态码,常见的异常状态码包括404(资源不存在)、500(服务器内部错误)、403(无权限访问)。可以在日志页面使用筛选功能,输入状态码关键词快速定位异常请求。
以下是Nginx访问日志的一条典型记录,我们可以通过内容分析请求信息:
127.0.0.1 - - [12/Nov/2024:10:23:45 +0800] "GET /test.html HTTP/1.1" 404 162 "https://ipipp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
这条记录的含义分别是:客户端IP为127.0.0.1,请求时间为12日10点23分45秒,请求方法为GET,请求路径为/test.html,协议为HTTP/1.1,返回状态码为404,响应大小为162字节,请求来源页为https://ipipp.com/,客户端浏览器信息为Mozilla内核的浏览器。
统计访问来源和热门页面
如果需要统计站点的热门访问页面或者访问来源,可以将日志文件下载到本地,使用简单的脚本进行统计。以下是Python脚本示例,用于统计访问次数最多的前10个页面:
import re
from collections import Counter
# 读取日志文件,替换为实际日志路径
log_path = "/www/wwwlogs/ippipp.com.log"
page_list = []
with open(log_path, "r", encoding="utf-8") as f:
for line in f:
# 匹配请求路径的正则表达式
match = re.search(r'"(GET|POST) (.+?) HTTP', line)
if match:
page = match.group(2)
page_list.append(page)
# 统计出现次数最多的前10个页面
counter = Counter(page_list)
top10 = counter.most_common(10)
print("热门访问页面TOP10:")
for page, count in top10:
print(f"路径:{page},访问次数:{count}")
筛选恶意请求
如果站点遭遇恶意爬取或者攻击,访问日志中会出现大量来自同一IP的异常请求,比如短时间内请求大量不存在的路径、请求敏感文件等。可以在宝塔面板的安全页面,查看访问日志中高频请求的IP,将恶意IP加入封锁列表。
日志分析的注意事项
访问日志会随着站点运行不断增大,占用服务器磁盘空间,建议定期在宝塔面板的计划任务中添加日志切割任务,自动按天或者按大小切割日志,避免单个日志文件过大影响查看和分析效率。同时如果站点启用了CDN,访问日志中的客户端IP会是CDN节点的IP,需要在Web服务配置中开启真实IP获取功能,才能准确统计访客的真实来源。