Nginx自定义访问日志的配置方式

发布时间 - 2026-01-11 00:57:46    点击率:

前言

Nginx日志主要分为两种:访问日志和错误日志。日志开关在Nginx配置文件(/etc/nginx/nginx.conf)中设置,两种日志都可以选择性关闭,默认都是打开的。

访问日志主要记录客户端访问Nginx的每一个请求,格式可以自定义。通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息。

日志的重要性不言而喻,一般来说我们开发过程中会为每个项目定义自己的日志格式以及存储路径。

就我们普通的JAVAWEB项目来说,重要的日志一般输出并存放在Tomcat的log目录下,并区分日志输出级别。用于区分,查阅并统计相关日志信息。

当然,这不是重点,重点是很多公司,对于日志的重要性似乎并不是那么重视,当然这可能跟平台本身有一定的关系。

日志配置

其实分析Nginx日志,可以得到很多有用的数据,响应耗时的url、请求时间,各个时间段的请求量,并发量。配合使用ELK日志系统可以很好的呈现系统使用情况。

一般来说,常见的懒人通用日志配置,多个项目公用一个access.log或者error.log,导致运行一段时间后日志文件特别大,几G甚至几十G的都有。

下面,主要来讲一下Nginx日志的正确配置方式。

日志输出格式:

#这个要配置在http中
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
  '$status $body_bytes_sent "$http_referer" '
  '"$http_user_agent" "$http_x_forwarded_for"';

项目配置:

limit_req_zone $binary_remote_addr $uri zone=api_read:20m rate=50r/s;#查询
#报告
server {
 listen 80;
 server_name report.52itstyle.com;
 index login.jsp;
 access_log /usr/local/nginx/logs/report.52itstyle.com.access.log access;
 #关闭静态文件的日志打印
 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css|js|ico)?$ {
 expires 1d;
 access_log off;
 proxy_pass http://report;
 }
 location / {
 limit_req zone=api_read burst=5;#请求限流,设置队列
 proxy_pass http://report;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
}
upstream report {
 fair;
 server 172.16.1.120:8882 weight=1 max_fails=2 fail_timeout=30s;
 server 172.16.1.120:8881 weight=1 max_fails=2 fail_timeout=30s;
}

以上配置,优化了几点:

  • 单个项目配置属于自己的日志输出路径文件
  • 排除无用的静态文件访问日志

当然还有更加优化的方案,比如Nginx日志按照日期格式输出,但是Nginx本身是不支持此功能的,只能通过sheel脚本自己进行切割,感兴趣的朋友们可以通过下面推荐的您可能感兴趣的文章进行阅读学习。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# nginx  # 自定义日志  # 自定义日志格式  # 访问日志配置  # nginx日志配置指令详解  # nginx服务器中access_log日志分析与配置详解  # 详解Nginx日志配置及日志切割  # 详解nginx中的日志配置  # Nginx配置-日志格式配置方式  # Nginx日志格式配置的实现  # 自己的  # 两种  # 感兴趣  # 都是  # 都有  # 很好  # 放在  # 你可以  # 多个  # 有一定  # 朋友们  # 可以通过  # 这不是  # 相关信息  # 自定义  # 几点  # 不支持  # 跳转  # 不言而喻  # 这篇文章 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用腾讯建站主机快速创建免费网站?  网站制作软件有哪些,制图软件有哪些?  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  Laravel如何为API生成Swagger或OpenAPI文档  如何快速搭建支持数据库操作的智能建站平台?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  LinuxCD持续部署教程_自动发布与回滚机制  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  如何自定义建站之星网站的导航菜单样式?  南京网站制作费用,南京远驱官方网站?  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  Python函数文档自动校验_规范解析【教程】  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  Laravel怎么清理缓存_Laravel optimize clear命令详解  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  javascript中闭包概念与用法深入理解  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  python中快速进行多个字符替换的方法小结  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  JS弹性运动实现方法分析  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  PHP 500报错的快速解决方法  如何快速选择适合个人网站的云服务器配置?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  Java类加载基本过程详细介绍  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  如何将凡科建站内容保存为本地文件?  如何利用DOS批处理实现定时关机操作详解  Laravel Session怎么存储_Laravel Session驱动配置详解  EditPlus 正则表达式 实战(3)  Laravel Docker环境搭建教程_Laravel Sail使用指南  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  韩国服务器如何优化跨境访问实现高效连接?  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何在景安云服务器上绑定域名并配置虚拟主机?  个人网站制作流程图片大全,个人网站如何注销?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Bootstrap CSS布局之列表  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  SQL查询语句优化的实用方法总结  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践