一篇文章中的 Nginx 日志
日志在系统中监视应用程序的活动非常重要,因为日志为您提供了有用的调试信息,并使您能够分析Web服务器的各个方面。与其他软件应用程序一样,Nginx还维护事件,例如网站访问者,遇到的问题以及更多日志文件。有用的记录信息用于采取先发制人的措施,以处理日志事件中的重大严重差异。
在本文中,我们将详细介绍如何在Ubuntu 20.04系统中配置和查看Nginx日志以监视应用程序活动。
Nginx中记录事件的日志有两种类型,一种是访问日志,另一种是错误日志。如果您已经在Nginx核心配置文件中启用了这些日志,那么您可以在所有Linux发行版的/var/log/nginx中找到这两种类型的日志。
Nginx访问日志
与网站访问者有关的所有活动都记录在访问日志中。在这种类型的日志中,您可以找到最近访问的那些文件,Nginx如何响应客户端请求,客户端IP地址,客户端正在使用的浏览器等等。通过使用访问日志的信息,您可以监视流量以查找一段时间内的站点使用情况。如果正确监视访问日志,则可以轻松找到用户发送的一些异常请求,以检查已部署应用程序中的缺陷。
启用Nginx访问日志
您可以在服务器部分或HTTP中使用access_log伪指令启用访问日志。
access_log log_file log_format;
第一个参数“ log_file”是强制性的,而第二个参数是可选的“ log_format”。如果您未提及日志格式,则将以默认的组合格式键入日志。
默认情况下,访问日志是在Nginx配置文件中定义的。因此,所有虚拟主机的访问日志都将存储在同一配置文件中。
http {
...
access_log /var/log/nginx/access.log;
...
}
建议通过记录到新的单独文件中来分开所有虚拟主机的访问日志。
http {
...
...
access_log /var/log/nginx/access.log;
server {
listen 80;
Server_name example.com
access_log /var/log/nginx/example.access.log;
...
...
}
}
重新加载新的NGINX配置。现在,您可以使用以下命令在/var/log/nginx/example.access.log文件中访问example.com域的访问日志:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo tail -f /var/log/nginx/example.access.log
自定义访问日志中的格式
让我们解释一个定义自定义访问日志格式的示例。默认情况下,访问日志以组合日志格式记录。因此,您可以使用gzip response的值扩展预定义格式的压缩率。
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/example.access.log custom;
...
}
}
对Nginx的配置进行所有更改后,请重新加载Nginx,然后运行tail命令以在事件日志的末尾显示gzip比率。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo tail -f /var/log/nginx/example.access.log
NGINX错误日志
如果NGINX突然停止运行或无法正常工作,它将在错误日志中记录所有事件。因此,使用错误日志,您可以找到更多详细信息。它还记录警告,但无法识别已发生的问题。
启用错误日志
error_log指令的以下语法:
error_log log_file log_level;
在以上语法中,第一个参数表示日志文件路径,第二个参数标识日志事件的安全级别。
我们在下面提到了一个示例,其中在服务器上下文中的error_log指令中执行覆盖。
http {
...
...
error_log /var/log/nginx/error_log;
server {
listen 80;
server_name example1.com;
error_log /var/log/nginx/example1.error_log warn;
...
}
server {
listen 80;
server_name example2.com;
error_log /var/log/nginx/example2.error_log debug;
...
}
}
当需要禁用错误日志时,请将日志文件的名称分配给/dev/null。
error_log /dev/null;
Nginx错误日志的安全级别
您可以在错误日志中使用以下安全级别:
- emerg:当系统不稳定时,用于紧急消息
- alert:生成严重问题的警报消息。
- crit:用于紧急情况下立即处理。
- crit: Used for Critical issues for immediately dealing.
error:处理页面时,可能会发生错误。 - warn:用于警告消息
- notice:您也可以忽略的通知日志。
- info:有关信息,消息
- debug:指向用于调试信息的错误位置。
总结
Nginx访问和错误日志对于记录某些活动非常有用。我们已经了解了如何在Linux系统上启用和查看这些类型的Nginx日志。这就是Nginx日志的全部内容。
推荐阅读
-
重新封装Python中的日志操作
-
华为鸿蒙系统爆出惊天骗局!-点击图片直达书单现场 今日话题 留言分享:你认为华为的鸿蒙的系统发布之后将会有什么样的改变 ?或者留言分享你觉得华为的鸿蒙系统发布之后对安卓,苹果会有怎么样的冲击(留言字数50-100 )?精选留言中随机抽取一名留言 幸运读者(次日头条文章第一个置顶留言公布)送出上图中书单中任意书籍一本。 ▲ END 关注民工哥技术之路微信公众号,在后台回复关键字:1024 或 2048 ,可以获取一份最新整理的技术干货。 - MORE | 往期精彩文章 -
-
了解前端渲染模式的发展历程:一篇文章带你领略
-
CentOS 7安装ipvsadm和Nginx,并进行基本配置与测试 下面是重写后的段落: 1. 关闭防火墙 2. 在浏览器中输入服务器IP地址并访问 3. 修改网页内容以区分不同的服务器 4. 配置lvs/nat,使用自定义的脚本 5. 检查ipvsadm设置的规则 6. 关闭防火墙 7. 测试LVS效果。
-
全面指南:使用lnmp、ELK 8.5.0和GeoIP解析Nginx日志,并在2022年11月版中实现数据可视化和IP地址地图可视化
-
使用Nginx访问Tomcat中的Spring MVC应用并部署多份Spring MVC应用在同一Tomcat上
-
如何在Windows中利用服务和MSMQ解决日志管理中的高并发问题
-
架构师日志:软件开发中的企业文化探讨
-
SQL Server 日期转换方法大全:支持各种数据类型和格式样式的转换 说明: 本篇文章详细介绍了如何在SQL Server中进行日期转换,包括各种数据类型和格式样式的转换方法。其中包括了科威特算法的阿拉伯样式中的数据格式,并提供了多种样式可供选择。此外,还给出了详细的示例和注意事项,帮助读者更好地理解和应用这些转换方法。
-
无人值守操作技巧系列文章(2):MSFVenom 中隐藏的参数解析