对于一个网站,访问量是运营工作中至关重要的指标。如果你的网站是运行在 Linux 服务器上,并通过 Nginx 提供 Web 服务,那么可以通过 Linux Shell 脚本来统计网站页面的访问情况。本文将带你了解如何通过 Shell 命令来统计 Nginx 的访问量。
访问量相关的指标
在正式讲解 Shell 命令前,我们先来看看网站访问情况的各项指标:
- PV(Page View):即页面浏览量或者点击量,用户每一次对网站中每个页面访问均记录1个PV。用户对同一页面的多次访问,访问量累积。
- UV(Unique Visitor):指通过互联网浏览这个网页的人,电脑称为一个访客、手机也称为一个访客,一天之内相同的客户端只能被计算一次。
- IP(Internet Protocol):指独立IP访问站点的IP总数,一天内相同IP只能算一次。
- VV(Visit View):指所有访客一天内访问网站的次数,当访客完成所有浏览并最终关闭网站的所有页面时变完成了一次访问,同一访客一天内可能有多次访问行为,访问次数累积。
使用命令查看访问量
了解 Nginx 服务日志
查看 Nginx 访问量,是通过分析 Nginx 访问日志的内容,然后通过 awk
命令来提取。Nginx 访问日志通常保存在 /var/log/nginx/access.log
文件里面(当然,以 Nginx 的配置为准,可能跟这里的不一样)。
说明:
access.log
文件里面的$1
、$2
...这些对应于 nginx 配置文件里面的$remote_addr
、$remote_user
...等等。
统计各种访问量
通过 Shell 命令行来统计各种访问量,主要是利用了 Shell 脚本的 awk
命令。下面是统计的详细命令:
1、统计访问URL统计PV
脚本命令:awk '{print $7}' /var/log/nginx/access.log|wc -l
2、根据访问IP统计UV
脚本命令:awk '{print $1}' /var/log/nginx/access.log|sort | uniq -c |wc -l
3、查询访问最频繁的IP
脚本命令:awk '{print $1}' /var/log/nginx/access.log|sort | uniq -c |sort -n -k 1 -r|more
4、查询访问最频繁的URL
脚本命令:awk '{print $7}' /var/log/nginx/access.log|sort | uniq -c |sort -n -k 1 -r|more
5、根据时间段统计查看日志
脚本命令:cat /var/log/nginx/access.log| sed -n '/14\/Mar\/2018:15/,/20\/Aug\/2018:16/p'|more
以上是统计 Nginx 访问量的各种场景和对应的 Shell 命令,希望对你有帮助。