Nginx 访问 IP 数量统计
在 Nginx 中,您可以通过多种方式统计访问的 IP 数量。以下是几种常用的方法来实现这一目标。
1. 使用 Nginx 日志
Nginx 通常会记录访问日志,您可以通过分析这些日志来统计访问的 IP 数量。
1.1 配置 Nginx 日志
确保在您的 Nginx 配置文件中启用了访问日志。默认情况下,访问日志通常在 /var/log/nginx/access.log。配置示例如下:
http { |
1.2 统计 IP 数量
使用以下命令分析访问日志,统计唯一的 IP 地址数量:
cat /var/log/nginx/access.log | awk '{print $1}' | sort | uniq | wc -l |
1.3 解释命令
cat /var/log/nginx/access.log:输出日志内容。awk '{print $1}':提取每行的第一个字段,即 IP 地址。sort:对 IP 地址进行排序。uniq:去重,保留唯一的 IP 地址。wc -l:统计行数,即唯一 IP 的数量。
2. 使用 Nginx 统计模块
Nginx 也可以通过一些第三方模块来直接统计访问 IP 数量,例如 ngx_http_stub_status_module。
2.1 启用状态模块
在 Nginx 配置文件中添加如下配置:
server { |
2.2 访问状态页面
使用浏览器或 curl 访问状态页面:
curl http://localhost/nginx_status |
这将显示连接数和其他状态信息,但不直接提供 IP 数量。
3. 使用阿尔法或日志分析工具
还有一些工具专门用于分析 Nginx 日志文件,例如:
- GoAccess:一个实时的日志分析工具,可以提供详细的访问统计。
- AWStats:一个强大的日志分析工具,可以生成图形化报告。
3.1 安装 GoAccess
在 Debian/Ubuntu 上可以使用以下命令安装:
sudo apt install goaccess |
3.2 使用 GoAccess 分析日志
goaccess /var/log/nginx/access.log --log-format=COMBINED -o report.html |
这将生成一个 HTML 格式的报告,您可以在浏览器中查看。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Leon!
评论



