飞跃高山与大洋的鱼飞跃高山与大洋的鱼
首页
先看
计算机
  • 数学
  • Linux
  • Arch
  • Manjaro
  • Ubuntu
  • CentOS
  • Kubernetes
  • Web
  • JavaScript
  • TypeScript
  • CSS
  • Canvas
  • Vue
  • Vite
  • NuxtJS
  • Webpack
  • Flutter
  • D3
  • Jest
  • WeApp
  • Utils
  • Nodejs
  • Nestjs
  • Golang
  • Nginx
  • Traefik
  • MySQL
  • MongoDB
  • Redis
  • Docker
算法
  • 像素风
  • Git
  • Github
  • VSCode
  • Chrome
  • Google
  • Bookmark scripts
  • 导航 🎉
  • VuePress 侧边栏插件
  • VuePress 官网
🚇 开往
首页
先看
计算机
  • 数学
  • Linux
  • Arch
  • Manjaro
  • Ubuntu
  • CentOS
  • Kubernetes
  • Web
  • JavaScript
  • TypeScript
  • CSS
  • Canvas
  • Vue
  • Vite
  • NuxtJS
  • Webpack
  • Flutter
  • D3
  • Jest
  • WeApp
  • Utils
  • Nodejs
  • Nestjs
  • Golang
  • Nginx
  • Traefik
  • MySQL
  • MongoDB
  • Redis
  • Docker
算法
  • 像素风
  • Git
  • Github
  • VSCode
  • Chrome
  • Google
  • Bookmark scripts
  • 导航 🎉
  • VuePress 侧边栏插件
  • VuePress 官网
🚇 开往
  • NGINX

    • 快速开启 Nginx
    • 为 Nginx 配置 systemd 服务
    • 处理 Nginx ERR
    • 使用 goaccess 可视化查看日志
      • 安装
      • 使用
        • 1. 最简单的静态使用
        • 2. 配合 Nginx 实时更新
    • Nginx 的限制模块
    • Nginx 的 location 规则
    • 主从 Nginx
    • Nginx 反向代理与负载均衡
    • Nginx 的 proxy_pass 规则
    • Nginx 防盗链
    • Nginx 的 rewrite 规则
    • root 与 alias 区别
    • Nginx 至 HTTPS
    • websocket 反向代理

使用 goaccess 可视化查看日志

虽然 Nginx 已经提供 access 日志来查阅,但是不得不说很难看清,常规的正则过滤又显得较为麻烦。于是就找到了这么一款实时网络日志分析器 GoAccess。

安装

此处以 Ubuntu Server 18.04 为示例,官网说明了,如果直接安装可能安装到较为老的版本,需要更新。

echo "deb https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install goaccess

goaccess --version # 验证 GoAccess - 1.3.

使用

1. 最简单的静态使用

警告

goaccess -f /var/log/nginx/access.log -o report.html --log-format=COMBINED

  • -f:指定日志文件
  • -o:指定报表路径
  • --log-format:日志格式,不加则会报错

这样就会生成一份 html 文件,可以利用 scp(推荐)、sz、rsync 下载该文件到本地后查看。

2. 配合 Nginx 实时更新

首先需要创建一个 Nginx 配置文件:

sudo cp default.conf access-log.conf
sudo mkdir /var/www/html/report

vim access-log.conf
# 修改以下内容,自定义 xxx
server_name  xxx.shanyuhai.top;
location /report.html {
    alias /var/www/html/report/report.html;
    # 代理,限制访问
    allow xxx.xxx.xxx.xxx;
    deny all;
}

# 接着前往域名提供商添加 DNS 解析

警告

goaccess -f /var/log/nginx/access.log -o /var/www/html/report/report.html --log-format=COMBINED --real-time-html

启动服务后会提示开启了一个 websocket,验证

ll /var/www/html/report

接着就可以在浏览器访问对应的地址了。

编辑文档!
上次更新:
贡献者: shanyuhai123
Prev
处理 Nginx ERR
Next
Nginx 的限制模块