如果你想优化 你的网站服务器,了解Nginx的访问日志是至关重要的。日志是你在遇到问题之前采取的唯一关键行动。它在检测网站开发中的缺陷方面也发挥着作用。Nginx访问日志包括用户访问请求的详细信息。为了分析 和监控 网站服务器,必须解析Nginx访问日志。
如何解析Nginx的访问日志
作为一个Linux用户,可以使用两种方法来解析Nginx的访问。你可以利用Linux命令或使用日志分析工具。执行Linux命令将解析指定功能的Nginx访问日志,而使用任何分析工具解析Nginx访问日志时,可以得到一份完整的报告。本篇文章将演示这两种解析Nginx访问日志的方法。所以,让我们开始吧
如何解析Nginx访问日志以获得IP地址列表
本节将告诉你如何使用Linux命令获取客户端IP地址。如果你想知道谁连接了服务器,或者想查看与已知的麻烦制造者有关的IP地址,所提供的解析Nginx访问日志的方法对你很有用。
考虑到Nginx访问日志保存在"/var/log"目录下,执行下面给出的命令可以解析Nginx访问日志,检索出日志文件中被访问用户的IP地址列表。
$ sudo cat /var/log/nginx/access.log| awk '{ print 1}' | sort | uniq -c | sort
如何解析Nginx访问日志以获得访问文件列表
当你想查看服务器上用户访问的文件列表时,在终端写出以下命令并点击 "Enter"。
sudo cat /var/log/nginx/access.log| awk '{ print7}' | sort | uniq -c | sort
如何解析Nginx访问日志以计算每秒的请求数
一个编码天才可以创建一个脚本来读取Nginx访问日志文件,解析时间戳,并计算每秒的请求数。然而,你可以通过执行一个简单的Linux命令来执行这整个操作,即
$ sudo cat /var/log/nginx/access.log| awk '{print 4}' | uniq -c | sort -rn | head
上述命令的输出将对所有的请求进行排序,同时给每个请求加上一个时间戳。这里,第一个数字代表请求数。
如何解析Nginx访问日志以获得响应代码
当网站服务器收到一个网站用户的请求时,会返回一个三位数的HTTP响应状态代码。这个代码表示将要发生的事件。例如,"301"响应代码意味着 "永久移动",而 "200"表示 "好的,这是你请求的内容"。你可以解析Nginx的访问日志以获得响应代码。要做到这一点,在Linux终端执行下面的命令。
$ sudo cat /var/log/nginx/access.log| cut -d '"' -f3 | cut -d ' ' -f2 | sort | uniq -c | sort -rn
如何使用在线分析工具解析Nginx访问日志
这并不重要,如果你将Nginx作为静态内容服务器、负载均衡器或Web服务器,你肯定想看看访问日志,看看它做得怎么样。Nginx的日志分析工具有几个选择,如Goaccess、Visitors、ELK Stack。你可以根据你的要求选择一个分析工具。
但是,为了演示使用在线分析工具解析Nginx访问日志的过程,我们选择了Goaccess。要使用Goaccess解析Nginx访问日志,必须先在系统上安装它。
$ sudoaptinstallgoaccess
使用Goaccess分析工具:Goaccess包括一个实时监控功能和一个交互式终端查看器。它是用C语言构建的,这就是为什么它速度快,并利用磁盘上的B+Tree数据库逐步处理日志。设计Goaccess分析器工具的目的是提供一些能在终端快速进行日志分析的工具。
Goaccess每隔200毫秒就会生成指标。因此,你可以准确了解实时流量的情况。这个功能很方便,当某些东西不能正常工作或意外的流量激增时,可以找出背后的原因。然后Goaccess将确定问题是出在Nginx应用程序还是网络上。
与其手动检查Nginx访问日志来查找问题,不如执行这个命令,利用Nginx访问日志中最关键的解析信息。
$ goaccess/var/log/nginx/access.log
现在,选择一种日志格式,然后按 "Enter"继续。
选择日志格式后,你将能够查看Goaccess分析器的仪表板,它将向你显示与每天的独特访问者、要求的文件有关的信息。
Goaccess还将为您提供有关静态请求、未找到的URL的信息。
您还可以查看您网站访客的主机名和IP,以及他们的操作系统、浏览器和他们在网站上花费的时间。
通过Goaccess仪表板向下滚动,查看与推荐人URLs、推荐网站、HTTP状态代码和谷歌搜索引擎的关键短语有关的信息。
在最后一节,我们将看到与我们的网络服务器相关的地理位置数据。
结论
访问日志提供了你需要的信息,以弄清你的Nginx在做什么。你可以解析Nginx的访问日志,以监控、分析和优化你的网站服务器。如果你是一个Linux用户,那么你可以使用命令或Nginx分析工具来解析Nginx的日志。分析器工具为你提供关于你的Web服务器性能的完整报告,而用于解析Ngnix访问日志的命令的执行将只显示指定动作的输出。这篇文章告诉你如何使用Linux命令和Goaccess 分析工具解析Ngnix访问日志。