Skip to content

Nginx配置

1 访问统计

如果想统计自己网站的访问量,可以通过简单的 Nginx 配置和脚本实现。以下是具体步骤:

1.1 修改 Nginx 导出日志

首先,修改 Nginx 配置文件,让它将访问日志导出到指定目录:

whereis nginx
cd /etc/nginx/
ls -l
sudo vim nginx.conf

nginx.conf 文件中修改 access_log 指向指定目录。

1.2 写脚本对日志进行统计并写入 html,并清空日志

编写一个脚本来统计日志信息,并生成一个 HTML 文件,同时清空日志:

#!/bin/bash
cd /home/ubuntu/Blog

date1=`date +%F`
date2=`date +%r`
ips=`awk '{print $1"<br>"}' access.log | sort | uniq -c | sort -n -k 1 -r | head -n 10`
pv=`awk '{print $7}' access.log | wc -l`
ip=`awk '{print $1}' access.log | sort -n | uniq -c | wc -l`
html=`awk '{print $7"<br>"}' access.log | sort | uniq -c | grep -vE '.(jpg|ico|php|do|400|svg|cgi-bin|css|js|png|jsp|gif)' | sort -n -k 1 -r | head -n 20`

echo  "<br><br>--------${date1}--${date2}------------- 
<br> Pv is $pv
<br> Ip is $ip
<br>
<br> $ips ...
<br>
<br> $html ...<br>----------<br><br>" >> count.html

# 清空日志文件
:> access.log
:> error.log

1.3 定时执行脚本

使用 crontab 配置定时任务,每天凌晨 12:01 执行脚本:

crontab -e # 添加每天凌晨12:01 执行脚本
# 添加以下内容:
01 00 * * * /home/ubuntu/Blog/statistics.sh

1.4 限制网页访问权限(可选)

如果需要限制统计页面的访问权限,可以通过 Nginx 配置特定 IP 访问。编辑 Nginx 配置文件,添加以下内容:

location /count.html {
    allow YOUR_IP_ADDRESS;
    deny all;
}

替换 YOUR_IP_ADDRESS 为你允许访问的 IP 地址。

通过以上步骤,你就可以轻松统计自己网站的访问量,并将结果生成一个 HTML 文件。