NGINX 访问日志和错误日志

您所在的位置:网站首页 word单独调整一个单元格宽度 NGINX 访问日志和错误日志

NGINX 访问日志和错误日志

2024-07-09 23:39:44| 来源: 网络整理| 查看: 265

NGINX 访问日志和错误日志 先决条件

您已经按照此处的教程安装了 NGINX。 登录 NGINX

默认情况下,NGINX 将其事件写入两种类型的日志——错误日志和访问日志。在大多数流行的 Linux 发行版中,如 Ubuntu、CentOS 或 Debian,访问和错误日志都可以在 /var/log/nginx 中找到,假设您已经在核心 NGINX 配置文件。让我们了解更多关于 NGINX 访问日志、错误日志以及如果您之前没有启用它们的方法。

什么是 NGINX 访问日志?

NGINX 在访问日志中记录您站点的所有访问者的活动。在这里您可以找到访问了哪些文件、NGINX 如何响应请求、客户端使用的浏览器、客户端的 IP 地址等等。可以使用访问日志中的信息来分析流量以查找站点随时间的使用情况。此外,通过适当地监控访问日志,可以发现用户是否发送了一些异常请求来查找已部署的 Web 应用程序中的缺陷。

什么是 NGINX 错误日志?

另一方面,如果 NGINX 遇到任何故障,它会将事件记录到错误日志中。如果配置文件中存在某些错误,则可能会发生这种情况。因此,如果 NGINX 无法启动或突然停止运行,那么您应该检查错误日志以查找更多详细信息。您可能还会在错误日志中发现一些警告,但这并不表示已发生问题,但该事件可能会在不久的将来造成严重的问题。

如何启用 NGINX 访问日志?

通常,可以在 http 或服务器部分使用 access_log 指令启用访问日志。第一个参数 log_file 是必需的,而第二个参数 log_format 是可选的。如果您没有指定任何格式,那么日志将以默认的组合格式写入。

access_log log_file log_format;

访问日志在核心 NGINX 配置文件的 http 上下文中默认启用。这意味着所有虚拟主机的访问日志将记录在同一个文件中。

http { ... ... access_log /var/log/nginx/access.log; ... ... }

最好将所有虚拟主机的访问日志记录在一个单独的文件中,以隔离它们。为此,您需要使用服务器上下文中的另一个 access_log 指令覆盖 http 部分中定义的 access_log 指令。

http { ... ... access_log /var/log/nginx/access.log; server { listen 80; server_name domain1.com access_log /var/log/nginx/domain1.access.log; ... ... } }

重新加载 NGINX 以应用新设置。要在文件 /var/log/nginx/domain1.access.log 中查看域 domain1.com 的访问日志,请在终端中使用以下 tail 命令。

# tail -f /var/log/nginx/domain1.access.log 在访问日志中应用自定义格式

用于在访问日志中记录事件的默认日志格式是组合日志格式。您可以通过创建自己的自定义日志格式来覆盖默认行为,然后在 access_log 指令中指定自定义格式的名称。以下示例通过使用响应的 gzip 压缩比值扩展预定义组合格式来定义自定义日志格式。然后通过使用 access_log 指令指示日志格式来应用该格式。

http { log_format custom '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" "$gzip_ratio"'; server { gzip on; ... access_log /var/log/nginx/domain1.access.log custom; ... } }

在您的环境中应用上述日志格式后,重新加载 NGINX。现在跟踪访问日志以在日志事件末尾找到 gzip 比率。

# tail -f /var/log/nginx/domain1.access.log 47.29.201.179 - - [28/Feb/2019:13:17:10 +0000] "GET /?p=1 HTTP/2.0" 200 5316 "https://domain1.com/?p=1" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36" "2.75" 如何启用 NGINX 错误日志?

error_log 指令通过指定要记录的错误消息的最低严重级别来设置错误记录到文件或 stderr 或 syslog。 error_log 指令的语法是:

error_log log_file log_level;

第一个参数 log_file 定义日志文件的路径,第二个参数 log_level 定义要记录的日志事件的严重级别。如果您不指定 log_level,那么默认情况下,只会记录严重级别为错误的日志事件。例如,以下示例将要记录的错误消息的严重级别设置为 crit。此外,http 上下文中的 error_log 指令意味着所有虚拟主机的错误日志将在单个文件中可用。

http { ... error_log /var/log/nginx/error_log crit; ... }

也可以通过覆盖服务器上下文中的 error_log 指令分别记录所有虚拟主机的错误日志。下面的示例通过覆盖服务器上下文中的 error_log 指令来准确地做到这一点。

http { ... ... error_log /var/log/nginx/error_log; server { listen 80; server_name domain1.com; error_log /var/log/nginx/domain1.error_log warn; ... } server { listen 80; server_name domain2.com; error_log /var/log/nginx/domain2.error_log debug; ... } }

上述所有示例都将日志事件记录到文件中。您还可以配置 error_log 指令以将日志事件发送到系统日志服务器。以下 error_log 指令以调试格式将错误日志发送到 IP 地址为 192.168.10.11 的 syslog 服务器。

error_log syslog:server=192.168.10.11 debug;

在某些情况下,您可能希望禁用错误日志。为此,将日志文件名设置为 /dev/null。

error_log /dev/null; Nginx 错误日志严重级别

有许多类型的日志级别与日志事件关联并具有不同的优先级。下面列出了所有日志级别。在以下日志级别中,调试具有最高优先级,并且也包括其余级别。例如,如果您将错误指定为日志级别,那么它还会捕获标记为 crit、alert 和 emergency 的日志事件。

emerg:系统可能不稳定时的紧急消息。 alert:严重问题的警报消息。 crit:需要立即处理的关键问题。 错误:发生错误。处理页面时出了点问题。 warn:警告消息,您应该查看它。 notice:您可以忽略的简单日志通知。 信息:只是您可能想知道的信息消息。 debug:用于查明错误位置的调试信息。 概括

NGINX 中的访问和错误日志不仅会保留用户活动的标签,还会在调试过程中节省您的时间和精力。此外,如果您需要更多信息,您还可以自定义访问日志。启用访问和错误日志总是更好,因为这两个文件包含了更好地维护 NGINX 服务器的所有线索。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭