2019独角兽企业重金招聘Python工程师标准>>>

nginx 服务器日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大小,一般在 nginx 的配置文件中日记配置(/usr/local/nginx/conf/nginx.conf)。

nginx的log_format有很多可选的参数用于指示服务器的活动状态,默认的是:

log_format  access  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';

想要记录更详细的信息需要自己设置log_format,具体可设置的参数格式及说明如下:

参数 说明 示例
$remote_addr 客户端地址 211.28.65.253
$remote_user 客户端用户名称
$time_local 访问时间和时区 18/Jul/2012:17:00:01 +0800
$request 请求的URI和HTTP协议 “GET /article-10000.html HTTP/1.1”
$http_host 请求地址,即浏览器中你输入的地址(IP或域名) www.it300.com/192.168.100.100
$status HTTP请求状态 200
$upstream_status upstream状态 200
$body_bytes_sent 发送给客户端文件内容大小 1547
$http_referer url跳转来源 https://www.baidu.com/
$http_user_agent 用户终端浏览器等信息 “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; GTB7.0; .NET4.0C;
$ssl_protocol SSL协议版本 TLSv1
$ssl_cipher 交换数据中的算法 RC4-SHA
$upstream_addr 后台upstream的地址,即真正提供服务的主机地址 10.10.10.100:80
$request_time 整个请求的总时间 0.205
$upstream_response_time 请求过程中,upstream响应时间 0.002

举例说明如下: 
1、配置文件

#vim /usr/local/nginx/conf/nginx.conflog_format  access  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" $http_x_forwarded_for ''"$upstream_addr" "$upstream_status" "$upstream_response_time" "$request_time"';include /usr/local/nginx/conf/vhost/*.conf;

2、vhost中配置文件

#vim /usr/local/nginx/conf/vhost/web.confserver{listen 80 default;server_name www.it300.com;index index.html index.htm index.php;root /data/httpd/it300.com;location ~ .*\.php?${include fastcgi.conf;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;}location ~ .*\.(js|css)?${expires 1h;}access_log /data/logs/it300.com.log access;}

-- 2018-06-13 新增 --

nginx 源码提供两种形式的时间格式

1、[$time_local]展现形式:[13/Jun/2018:13:50:48 +0800]2、[$time_iso8601]展现形式:[2018-06-13T13:50:26+08:00]

-- 2018-06-28 新增 --

1、access_log

access_log 指令用来指定日志文件的存放路径包含日志文件名、格式和缓存大小具体如下

access_log   path(存放路径)  [format(自定义日志格式名称)  [buffer=size | off]]

举例说明如下

access_log  logs/access.log  main;

如果想关闭日志可以如下

access_log off;

能够使用 access_log 指令的字段包括 http、server、location。

需要注意的是 Nginx 进程设置的用户和组必须对日志路径有创建文件的权限否则会报错。

小技巧

如果需要在 access_log 中记录 post 请求的参数可以参考 如何在access log中记录post请求的参数 。

Nginx 支持为每个 location 指定强大的日志记录。

同样的连接可以在同一时间输出到不止一个的日志中更多信息请查看 Nginx模块参考手册:日志模块(Log) 。

2、错误日志

错误日志主要记录客户端访问 Nginx 出错时的日志格式不支持自定义。通过错误日志你可以得到系统某个服务或 server 的性能瓶颈等。

因此将日志好好利用你可以得到很多有价值的信息。错误日志由指令 error_log 来指定具体格式如下

error_log   path(存放路径)   level(日志等级)

path 含义同 access_log level 表示日志等级具体如下

[ debug | info | notice | warn | error | crit ]# 从左至右日志详细程度逐级递减,即 debug 最详细 crit 最少

举例说明如下

error_log  logs/error.log  info;

需要注意的是 error_log  off 并不能关闭错误日志而是会将错误日志记录到一个文件名为 off 的文件中。

正确的关闭错误日志记录功能的方法如下

error_log  /dev/null;# 上面表示将存储日志的路径设置为“垃圾桶”

参考资料

1. Nginx 日志各项参数含义

2. 如何在access log中记录post请求的参数

3. Nginx模块参考手册:日志模块(Log)

转载于:https://my.oschina.net/u/3314358/blog/1828545

Nginx日志格式设置相关推荐

  1. nginx 日志格式设置 和 负载均衡下 获取真实ip

    log_format log 格式   '配置规则'; 日志格式设置: $remote_addr与$http_x_forwarded_for用以记录客户端的ip地址: $remote_user:用来记 ...

  2. Nginx - 日志格式及输出

    1. 前言 在 Nginx 服务器中,如果想对日志输出进行控制还是很容易的.Nginx 服务器提供了一个 HttpLogModule 模块,可以通过它来设置日志的输出格式. 2. HttpLogMod ...

  3. nginx日志格式分析及修改

    修改nginx日志打印格式 一. 打开终端,登录服务器并输入服务器密码 //ssh 用户名@服务器ip ssh root@192.168.0.132 二. 切换到nginx目录 cd /var/log ...

  4. nginx日志格式、参数及切分

    2019独角兽企业重金招聘Python工程师标准>>> 日志格式 nginx服务器日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log ...

  5. nginx日志格式分析

    先随便截取一个nginx标准日志: 62.173.145.171 - - [12/Jan/2020:17:23:54 +0800] "GET /vvx/000000000000.cfg HT ...

  6. nginx日志格式及自定义日志配置

    1.nginx的log日志分为access log 和 error log 其中access log 记录了哪些用户,哪些页面以及用户浏览器.ip和其他的访问信息:error log 则是记录服务器错 ...

  7. Nginx日志格式配置-转载

    最近项目使用到了nginx的反向代理,配置过程中查询了一些nginx日志配置的问题,便于自己学习查询 nginx服务器日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是a ...

  8. nginx日志格式配置

    nginx作为我们IT中的首选反向代理神器,有时候我们有必要查看nginx中的日志的,但是我们对nginx的日志格式不是很了解怎么办呢?这样以来也是看不懂的. nginx日志 nginx的日志分两种一 ...

  9. Nginx日志格式说明

    1.日志位置及配置 默认位置在nginx安装目录下的:logs/access.log 也可修改日志配置,在配置文件中:conf/nginx.conf 日志格式参数:log_format #log_fo ...

最新文章

  1. 20155338 《网络攻防》 Exp7 网络欺诈防范
  2. 信息系统项目管理师论文指导(2/3)
  3. pytorch list转tensor_PyTorch 52.PyTorch常用代码段合集
  4. CAP 2.3版本发布,支持 MongoDB
  5. 微信 小程序 canvas
  6. [CB]将窗体从属于主窗体
  7. 下面我这个方法可以实现限制某些QQ号登陆,而没有被限制的QQ号可以登陆,不需要借助任何工具。...
  8. 查看google chrome版本号及浏览器驱动下载
  9. JavaScript中常见的字符串操作函数及用法汇总
  10. 兄弟连教育分享:用CSS实现鼠标悬停提示的方法
  11. 什么是可加,半可加,不可加事实?
  12. “拖延症”的良方-对于追求完美,自制力差,情绪化的人很受用
  13. Matlab求齐次方程的解
  14. IT职场人生:学外语
  15. c语言程序设计 大学考试题库,广东工业大学《C语言程序设计》考试复习重点题库.pdf...
  16. JMeter察看结果树响应数据都是相同原因
  17. 三年级计算机课可以画的图有,三年级上册画画图片
  18. VS2010下破解Visual Assist X
  19. 提升brew下载速度
  20. python函数内计时_Python函数执行计时

热门文章

  1. dns (域名系统)
  2. maven编译时出现读取XXX时出错invalid LOC header (bad signature)
  3. 企业研发管理工具应用分析
  4. System.OutOfMemoryException
  5. js调用数科阅读器_阅读大型 JavaScript 源码时有什么好用的工具?
  6. php 偷偷转移别人权重,判断百度蜘蛛偷偷进行301转移权重 给新站提权
  7. 信息系统监理师题库_信息系统监理题库
  8. 了解下WSDL 端口
  9. Linux防止SSH暴力破解
  10. 简单介绍Git合并分支的流程步骤