游客发表
网站访问日志不在什么神秘的网站地方,它就躺在你服务器的访问硬盘里。具体路径取决于你用的日志什么Web服务器软件——Nginx的日志通常在/var/log/nginx/access.log,Apache则多半在/var/log/apache2/access.log或/var/log/httpd/目录下。网站如果你用的访问是虚拟主机,控制面板里一般直接有个“日志”按钮,日志点开就能看到。网站
但老实说,访问很多人连服务器都登不上去,日志更别提找文件了。网站我见过一个小公司老板,访问网站被刷爆了流量,日志他急得团团转,网站问“日志在哪”。访问我让他打开宝塔面板,日志左侧菜单往下拉,有个“日志”选项,点进去,按日期选一天,全站访问记录就列出来了。他盯着满屏的IP和URL,愣了半天——原来真有这么个东西。
如果你用的是云服务器(阿里云、腾讯云之类),它们通常自带日志服务,在控制台里可以开启。开启后,日志会被推送到一个单独的查询页面,不用你自己去碰服务器文件。这地方有个好处:即使你误删了服务器上的日志文件,云端的备份还在。坏处是——要钱,而且配置起来有点繁琐。
当然,最朴素的方法还是命令行。SSH登录服务器,输入tail -f /var/log/nginx/access.log,屏幕上会实时滚动每一条访问记录。每一行包含访问者的IP、访问时间、请求的URL、返回的状态码、浏览器User-Agent。比如这一行:
203.0.113.7 - - [05/Nov/2025:14:23:11 +0800] "GET /product?id=102 HTTP/1.1" 200 5432 "https://google.com" "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
它告诉你一个来自203.0.113.7的人,在2025年11月5日下午2点23分,用Chrome浏览器访问了你的商品详情页,服务器正常返回了200状态码,页面大小约5KB。就这么直白。
但大多数人看日志不是为了看热闹,而是为了排查问题。比如网站突然变慢,你去看日志,发现某个IP在短时间内请求了上千次,状态码全是404——这基本是扫描器在探测你的漏洞。又比如某个页面打不开,日志里对应记录返回的是500,说明后端程序报错了,得去查错误日志(error.log),那里会记录具体的报错堆栈。
还有一个小细节容易被忽略:日志文件会越积越大。默认配置下,Nginx不会自动切割日志,几个月不管,一个文件能涨到几个GB。到时候你想用文本编辑器打开它,直接卡死。所以务必要设置logrotate,让它按天或按周自动归档。我见过有人服务器硬盘被日志塞满,网站直接宕机——这不是段子,是真事。
最后提一句,Windows服务器上用IIS的话,日志默认在C:\inetpub\logs\LogFiles,格式是W3C标准,用Excel就能打开分析。但说实话,生产环境里用Windows跑Web的已经不多了。
友情链接