如何用命令行分析网站日志,可以轻松查看网站真实流量情况

好久没更新独立站百科了,今天再接着更新

今天的教程便技术,涉及代码,请斟酌使用

为什么要分析网站日志

网站日志太重要了
它记录了网站发生的一切事情
比如网站访问做多的页面是什么
网站总访客
网站错误最多的地方等等

一切你关心的数据都会出现在日志里面
通常我们可以使用谷歌分析、百度分析等第三方工具统计网站访客
不过用查看网站日志
我们能更了解网站的日常

如何分析网站日志

首先分析网站日志需要必备环境如下:

  • Linux虚拟服务器
    必须是虚拟服务器
    可以是阿里云ecs、linode、谷歌云、亚马逊aws
    如果你的网站服务器是bluehost\siteground就不能操作

新建文件

在linux后台新建一个文件
命名为testlog.sh
然后把如下代码放入

#!/bin/bash
log_path="/www/wwwlogs/yourdomain.com.log"
domain="yourdomain.com"
maketime=`date +%Y-%m-%d" "%H":"%M`
logdate=`date -d "yesterday" +%Y-%m-%d`
total_visit=`wc -l ${log_path} | awk '{print $1}'`
total_bandwidth=`awk -v total=0 '{total+=$10}END{print total/1024/1024}' ${log_path}`
total_unique=`awk '{ip[$1]++}END{print asort(ip)}' ${log_path}`
ip_pv=`awk '{ip[$1]++}END{for (k in ip){print ip[k],k}}' ${log_path} | sort -rn | head -20`
url_num=`awk '{url[$7]++}END{for (k in url){print url[k],k}}' ${log_path} | sort -rn | head -20`
referer=`awk -v domain=$domain '$11 !~ /http:\/\/[^/]*'"$domain"'/{url[$11]++}END{for (k in url){print url[k],k}}' ${log_path} | sort -rn | head -20`
notfound=`awk '$9 == 404 {url[$7]++}END{for (k in url){print url[k],k}}' ${log_path} | sort -rn | head -20`
spider=`awk -F'"' '$6 ~ /Baiduspider/ {spider["baiduspider"]++} $6 ~ /Googlebot/ {spider["googlebot"]++}END{for (k in spider){print k,spider[k]}}'  ${log_path}`
search=`awk -F'"' '$4 ~ /http:\/\/www\.baidu\.com/ {search["baidu_search"]++} $4 ~ /http:\/\/www\.google\.com/ {search["google_search"]++}END{for (k in search){print k,search[k]}}' ${log_path}`
echo -e "概况\n报告生成时间:${maketime}\n总访问量:${total_visit}\n总带宽:${total_bandwidth}M\n独立访客:${total_unique}\n\n访问IP统计\n${ip_pv}\n\n访问url统计\n${url_num}\n\n来源页面统计\n${referer}\n\n404统计\n${notfound}\n\n蜘蛛统计\n${spider}\n\n搜索引擎来源统计\n${search}" > /www/wwwroot/$domain+log.txt

放入代码后请修改三个地方:

  • log_path,这里要放你的log文件所在位置
  • domain,这里输入你的域名,格式可以是www或者no-www,不需要https
  • /www/wwwroot/$domain+log.txt,最后一段为分析结果输出的位置,模式在/www/wwwroot文件夹下面,修改随意,就算optional吧

log_path一般都在/www/wwwlogs里面
我用的宝塔面板的所有网站日志都在这里
image.png

下图就是我们修改好的代码的样子了
image.png

打开终端运行代码

接着我们打开终端
宝塔面板自带终端
不错,我们就直接用这个
如果你的服务器不是可视化的
可以用自带的终端工具操作

在终端中进入新建sh文件的所在文件夹
然后运行

./testlog.sh

image.png

等待一段时间
时间长短取决于你的服务器计算力
出现空行就表示运行结束
程序员都爱这个空行吧
这样就代表着没有了任何错误
就可以早下班不要熬夜啦啦啦

image.png

查看结果

运行一段时间结束
我们就得到了一段域名+log.txt的文本文件了
打开它,里面有我们所有想要知道的东西

概况与ip统计

image.png

首先是概况与ip统计
概况中我们得知网站独立访客31561人
独立访客一般都是不同ip计算的
表示网站上线以来总访客为31561人
不过如果你的网站删除过日志
或者搬家没有保留以前的日志
这些数据就是从搬家日那天开始计算的

访问ip统计可以知道哪些ip是访问我们网站最多的
一般这些排名靠前的ip都是搜索引擎的爬虫或者黑客的恶意攻击ip

访问url统计与来源页面统计

image.png

访问url统计展现的是我们网站被访问最多的页面
一般来说访问最多的页面
页面权重也是最高的
也是最有价值的
不过访问最多的url中也会包含网站程序页面
比如xmlrpc.php就是wordpress的远程访问程序
这个一般都是黑客的重点攻击对象
所有访问量最大也是说的过去

来源页面统计可以统计网站流量来源最多的页面
可以理解为外链来源
这里我建议你着重查看页面来源靠前的有没有google.com
如果google.com特别靠前而且数值很大
那么恭喜你的网站自然流量很充沛

404统计 / 蜘蛛统计 / 搜索引擎来源统计

image.png

404统计可以知道我们网站不存在的页面
这里可以得出两个信号

  • 如果网站删除过页面,没有做301修正,那么可能在404里出现,可以及时修复
  • 如果出现一堆毫无头绪的url,你可以忽略,这个一般都是黑客们暴力破解留下的痕迹

蜘蛛统计可以了解网站被哪些搜索引擎爬取过。

而搜索引擎来源统计就好理解,与上面说的来源页面统计类似,可以了解网站的自然流量情况。

Keen

Keen

分享英文建站和SEO技巧.

按ESC退出