4-Nginx 日志管理

一、Nginx日志配置 分类

access_log 访问日志配置

log_format 定义日志格式

open_log_file_cache 设置日志缓存

log_not_found 记录不存在 日志配置

log_subrequest 记录子请求的日志配置

rewrite_log Rewrite 日志

error_log 错误日志

二、日志配置

1、access_log 配置

语法:access_log path [format [buffer=size [flush=time]]];

access_log  path  gzip[=level][buffer=size][flush=time];

access_log  syslog:server=address[parameter=value][format];

access_log  off:

默认值: access logs/access.log  main;

可配置字段: http、server、location、 if in location、limit_execpt

Gzip 压缩等级

Buffer 设置内存缓存区大小

Flush 保存在缓存区中的最长时间

不记录日志:access_log off;

使用默认combined 格式记录日志: access_log logs/access.log main;

2、log_format配置

语法:log_format name string …;

默认值: log_format main "…";

配置段: http

----------------------

name:表示日志格式的名称

string:表示定义的格式

log_format 有一个默认的无需配置的main日志格式:

注意:如果Nginx当做负载均衡器、反向代理使用后,web服务器无法直接获取到客户端的真是的IP地址了。

$remote_addr  获取反向代理的IP地址。 反向代理服务器的转发请求的http头信息中,可以增加X-Forwarded-For 信息。用来计入客户端IP地址和客户端请求的服务器地址

变量参数详解:

$remote_addr,$http_x_forwarded_for   记录客户端IP地址

$remot_user 记录客户端用户名称

$request   记录请求的URL和HTTP协议

$status 记录请求状态码

$body_bytes_sent 发送客户端的字节数,不包括响应头的大小,

$bytes_sent 发送给客户端的总字节数

$connection 连接的序列号

$connection_request 当前通过一个链接获得的请求数量

$msec 日志写入时间。单位为秒,精度是毫秒

$pipe 如果请求是通过HTTP流水线(pipelined)发送,pipe值为 “p”,否则为“.”。

$http_referer 记录从哪个页面连接访问过来的

$http_user_agent 记录客户端浏览器相关信息

$request_length 请求的长度(包括请求行,请求头,和请求正文)

$request_time 请求处理时间,单位为秒,精度为毫秒

$time_ios8601 ISO8601标准格式下的本地时间

$time_local 通用日志格式下的本地时间

3、open_log_file_cache配置

语法:open_log_file_cache max=N [inactive=time] [min_user=N] [valid=time];

open_log_file_cache off;

默认配置:open_log_file_cache off;

可配置字段: http、server、location

对于每一条日志记录,都将是先打开文件,再写入日志,然后关闭。可以使用open_log_file_cache来设置日志文件缓存(默认是OFF),格式如下:

max:设置缓存中的最大文件描述符数量,如果缓存被占满,采用LRU算法将描述关闭

inactive:设置存活时间,默认是10秒

min_uses:设置在inactive 时间段内,日志文件最少使用多少次后,该日志文件描述符记入缓  存中,默认是1次。

4、log_not_found 配置

语法:log_not_found on|off;

默认值:log_not_found on;

可配置字段:http、server、location

作用:是否正在error_log中记录不存在的错误。默认是。

5、log_subrequest配置

语法:log_subrequest on|off;

默认值:log_subrequest off;

可配置字段:http、server、location

是否在access_log 中记录子请求的访问日志。默认不记录。

6、rewrite_log指令

由ngx_http_rewrite_module 模块提供。用来记录重写日志的。在调试的时候建议打开。

语法:rewrite_log on|off;

默认值:rewrite_log off;

可配置字段:http、server、location、if

启用时在error_log中记录notice级别的重写日志。

7、error_log指令

语法:error_log file | stderr | syslog:server=address[parameter=value][debug|info|notic|warn|error|crit|alert|emerg];

默认值:error_log logs/error.log error;

可配置字段:main、http、server、location

配置错误日志

时间: 2024-08-14 04:47:33

4-Nginx 日志管理的相关文章

04 nginx日志管理

一:nginx日志管理 我们观察nginx的server段,可以看到如下类似信息 #access_log logs/host.access.log main; 这说明 该server, 它的访问日志的文件是 logs/host.access.log , 使用的格式”main”格式. 除了main格式,你可以自定义其他格式. main格式是什么? log_format main '$remote_addr - $remote_user [$time_local] "$request" '

nginx之旅(第二篇):nginx日志管理、nginx防盗链、nginx虚拟主机

一.nginx日志管理 Nginx访问日志主要有两个参数控制 1) log_format #用来定义记录日志的格式(可以定义多种日志格式,取不不同名字即可) log_format log_name string 2) access_log #用来指定日至文件的路路径及使用的何种日志格式记录日志 access_log logs/access.log main; log_format格式变量含义: 字段 含义 remote_addr 客户端地址 remote_user 客户端用户名 time_loc

Nginx日志管理和切割

一.日志分类 Nginx日志主要分为两种,访问日志和错误日志.两种日志可以在http和server模块中配置,nginx有一个非常灵活的日志记录模式.每个级别的配置可以有各自独立的访问日志.日志格式通过log_format命令来定义 1.访问日志 访问日志主要记录客户端访问Nginx的每一个请求 log_format用来设置日志格式,只能在http模块下设置 log_format name   name(格式名称)   type(格式样式) 下面是默认的nginx日志格式: log_format

Nginx教程(三) Nginx日志管理

1 日志管理 1.1 Nginx日志描述 通过访问日志,你可以得到用户地域来源.跳转来源.使用终端.某个URL访问量等相关信息:通过错误日志,你可以得到系统某个服务或server的性能瓶颈等.因此,将日志好好利用,你可以得到很多有价值的信息. 1.2 Nginx日志格式 打开nginx.conf配置文件:vim /usr/local/nginx/conf/nginx.conf 日志部分内容: #access_log  logs/access.log  main; 日志生成的到Nginx根目录lo

nginx 日志管理

日志管理 我们观察nginx的server段,可以看到如下类似信息 #access_log  logs/host.access.log  main; 这说明 该server, 它的访问日志的文件是  logs/host.access.log , 使用的格式"main"格式. 除了main格式,你可以自定义其他格式. main格式是什么? log_format  main  '$remote_addr - $remote_user [$time_local] "$request

Nginx日志管理

以下是Nginx日志的一个server段的配置,其中的access_log便是标记Nginx日志目录,紧随其后的main是日志格式 server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } 从配置文件的还可以看到具体main日志格式的定义,当然 ,我们

Nginx日志管理配置

1.创建日志目录 nginx 的默认日志目录所在硬盘空间可能比较小,所以根据硬盘的空间状况创建日志目录 例如:mkdir /backup/nginx_logs 2.修改nginx配置文件 配置 nginx 的日志目录,指向你刚创建的目录 在配置文件中写: 根据时间情况写在 server 或者 http 或者 location 块 , 本例写在 server 块 access_log /backup/nginx_logs/access.log combined; 上面的combined为 ngin

使用logrotate管理nginx日志文件

本文转载自:http://linux008.blog.51cto.com/2837805/555829 描述:linux日志文件如果不定期清理,会填满整个磁盘.这样会很危险,因此日志管理是系统管理员日常工作之一.我们可以使用"logrotate"来管理linux日志文件,它可以实现日志的自动滚动,日志归档等功能.下面以nginx日志文件来讲解下logrotate的用法. 配置:1.在/etc/logrotate.d目录下创建一个nginx的配置文件"nginx"配置

【Nginx系列】Nginx虚拟主机的配置核日志管理

Nginx配置段 #user nobody; worker_processes 1;// 有1个工作的子进程,可以自行修改,但太大无益,因为要争夺CPU,一般设置为 CPU数*核数 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events {// 一般是配置nginx连接的特性 如1个word能同时允许多少连接 w

Haproxy+Nginx负载均衡群集及调度日志管理

关于负载均衡群集,在本文之前已经发表有关负载均衡群集的文章,如:Nginx+Tomcat负载均衡群集.LVS-NAT模式的负载均衡群集.LVS-DR+Keepalive高可用群集; 就性能而言,Nginx的upstream模块支持群集功能,但是对群集节点的健康检查功能不强. LVS的两种模式性能较好,由于搭建过程较为复杂,后期维护也较为繁琐. haproxy是一种轻量级调度服务软件,HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数.且搭建配置较为简单. 常用负载均衡