目录

  • 一.Nginx 访问日志介绍
  • 二.语法及默认值
  • 三.配置实战
    1.修改配置文件
    2.日志变量说明
    3.真实日志分析
  • 四.参考资料

正文

回到顶部
一.Nginx 访问日志介绍
Nginx 软件会把每个用户访问网站的日志信息记录到指定的日志文件里,供网站提供者分析用户的浏览行为等,此功能由 ngx_http_log_module 模块负责。

回到顶部
二.语法及默认值
语法:

access_log path [format [buffer=size]];
access_log off;

默认值:

access_log logs/access.log combined;
# “combined”日志格式:
log_format combined '$remote_addr - $remote_user [$time_local] ''"$request" $status $body_bytes_sent ''"$http_referer" "$http_user_agent"';

为访问日志设置路径,格式和缓冲区大小(nginx访问日志支持缓存)。在同一个配置层级里可以指定多个日志。特定值off会取消当前配置层级里的所有access_log指令。如果没有指定日志格式则会使用预定义的“combined”格式。

回到顶部
#三.配置实战

1.修改配置文件

[root@localhost conf]# cat nginx.conf
worker_processes  1;
error_log  logs/error.log  error;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;include     vhosts/*.conf;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '   # 先定义日志格式,main是日志格式的名字'$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  logs/access.log  main;                                          # 使用日志格式,也可以把这一行放到想记录访问日志的虚拟主机配置文件中去
}

2.日志变量说明

$remote_addr :记录访问网站的客户端地址
$remote_user :记录远程客户端用户名称
$time_local :记录访问时间与时区
$request :记录用户的 http 请求起始行信息
$status :记录 http 状态码,即请求返回的状态,例如 200 、404 、502 等
$body_bytes_sent :记录服务器发送给客户端的响应 body 字节数
$http_referer :记录此次请求是从哪个链接访问过来的,可以根据 referer 进行防盗链设置
$http_user_agent :记录客户端访问信息,如浏览器、手机客户端等
$http_x_forwarded_for :当前端有代理服务器时,设置 Web 节点记录客户端地址的配置,此参数生效的前提是代理服务器上也进行了相关的 x_forwarded_for 设置

3.真实日志分析
access.log中的真实日志:

192.168.5.1 - - [25/May/2017:18:27:51 +0800] "GET / HTTP/1.1" 200 12 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)" "-"

对上面的日志进行分析:

$remote_addr 对应的是 192.168.5.1 ,即客户端的 IP 地址
$remote_user 对应的是 '-' ,没有远程用户,所以用 '-' 填充
$time_local 对应的是 [25/May/2017:18:27:51 +0800]
$request 对应的是 "GET / HTTP/1.1"
$status 对应的是状态码 200 ,表示访问正常
$body_bytes_sent 对应的是 12 字节,即响应 body 的大小
$http_referer 对应的是 "-" ,由于是直接打开域名浏览的,因此 referer 没有值
$http_user_agent 对应的是 "Mozilla/4.0 (compatible; MSIE........)"
$http_x_forwarded_for 对应的是 "-" ,因为 Web 服务没有使用代理,所以用 "-" 填充

回到顶部
四.参考资料
http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_log_module.html#access_log

参考链接 :
Nginx 访问日志配置 :https://mp.weixin.qq.com/s/Oy0d71WMNY_addYb8g_HdA

Nginx 访问日志配置相关推荐

  1. 宝塔自定义nginx访问日志配置

    nginx日志自定义配置 问题 有时nginx默认的日志满足不了需求,比如网站绑定了多个域名,想知道用于访问的是具体域名,这时候就需要自定义nginx日志了. nginx 中access log 记录 ...

  2. Nginx访问日志(access_log)配置

    Nginx访问日志主要有两个参数控制 log_format #用来定义记录日志的格式(可以定义多种日志格式,取不同名字即可) access_log #用来指定日至文件的路径及使用的何种日志格式记录日志 ...

  3. Nginx访问日志、日志切割、静态文件不记录日志和过期时间

    2019独角兽企业重金招聘Python工程师标准>>> 11月27日任务 12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间 1 ...

  4. 12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间

    - 12.10 Nginx访问日志 - 12.11 Nginx日志切割 - 12.12 静态文件不记录日志和过期时间# 12.10 Nginx访问日志 - 日志的格式- vim /usr/local/ ...

  5. Nginx 访问日志轮询切割

    Nginx 访问日志轮询切割脚本 -------------------------------------------------------------------- 注:如果你对python感兴 ...

  6. nginx的日志配置

    nginx的日志配置 nginx有一个非常灵活的日志记录模式.每个级别的配置可以有各自独立的访问日志.日志格式通过log_format命令来定义. ngx_http_log_module 是用来定义请 ...

  7. NGINX访问日志和错误日志

    Logs are very useful to monitor activities of any application apart from providing you with valuable ...

  8. 使用Nginx访问日志统计PV和UV

    一个网站当用户量增大时候,不可避免有统计pv和uv的需求. UV(Unique Visitor):独立访客,以cookie为依据区分不同访客,UV计算一天之内(00:00-24:00),访问网站的访客 ...

  9. 笔记12(36-40)域名重定向,用户认证,nginx访问日志,日志切割

    学习笔记 域名重定向 配置第二个域名: vi /etc/nginx/conf.d/blog.aminglinux.cc.conf 在server_name 那一行的域名后面加一个域名,空格作为分隔 n ...

最新文章

  1. 月薪25-80K丨一汽(南京)招聘雷达感知开发工程师、主管、主任、高级主任
  2. PMCAFF | 蓝港研发总监:游戏产品如何进行数据分析?内附核心数据分析实例子
  3. QT的QEasingCurve类的使用
  4. tf.app.flags和tf.app.run的使用
  5. JDBC 数据库连接操作——实习第三天
  6. 一种基于随机投影的本地差分隐私高维数值型数据收集算法
  7. Spring Boot教程
  8. 服务器pcie性能最大,首款PCIe 4.0服务器处理器为数据中心加速
  9. 打开慢_苹果手机聊天回复特别慢?打开这个开关,1分钟打200字都没问题
  10. 关于网上商城开发的随笔记录1
  11. 人工智能ai技术案例_AI在软件测试中的案例
  12. 切换计算机管理员身份,管理员身份运行,教您如何设置以管理员身份运行程序...
  13. 谷歌SEO之如何选择关键词(2021更新教程)
  14. 基于JAVA糖果销售管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  15. win10家庭版怎么删除多余的用户
  16. 嫦娥奔月(神话,非航天器)
  17. QGIS:创建矢量图层
  18. monkeyrunner 使用
  19. 更新Windows\BIOS之后WiFi消失的解决方法
  20. springboot疫情物资管理系统的设计与实现

热门文章

  1. 编写一个方法,去掉数组中重复元素
  2. flex布局与绝对定位
  3. 一入 ‘ 函数 ’ 深似海
  4. 写给新手站长的一封信,有效的做网站排名
  5. python 保存xls文件
  6. 结巴分词 - - - jieba库
  7. Vivo x9s设置deviceOwner后,无法使用应用分身
  8. Java中回车符的使用‘\r‘
  9. Graphviz安装配置及入门
  10. Android 开发(02)UI布局方式