nginx日志配置相关讲解

1.access_log 指令

说明:日志开关情况需根据实际项目需求情况处理。

不记录日志: access_log off;

默认格式:#access_log  logs/host.access.log  main;

语法格式: access_log path [format [buffer=size [flush=time]]];
access_log path format gzip[=level] [buffer=size] [flush=time]
access_log syslog:server=address[,parameter=value] [format];

gzip 压缩等级。
buffer 设置内存缓存区大小。
flush 保存在缓存区中的最长时间。

2.error_log 指令

2.1 说明:error_log可以指定输出路径位置,实际项目中为了统一日志管理,不会使用默认的日志输出位置,会做相应修改。

2.2 默认格式:error_log  logs/error.log;

2.3 语法格式: error_log file | stderr | syslog:server=address[,parameter=value] [debug | info | 
notice |warn | error | crit | alert | emerg];

[parameter=value]
误日志级别:常见的错误日志级别有[debug | info | notice | warn | error | crit | alert | emerg],级别
越高记录的信息越少。

3.log_format 指令

3.1 说明,此指令在实际中用的比较多,也比较重要,基于运维人员,在查找问题时,如果此模块配置的详细,则很容易定位相关问题。基于默认格式,由于内容较少,多会修改此部分内容。
3.2 默认格式:
  #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

3.3 可使用的变量(有点多)
$remote_addr, $http_x_forwarded_for 记录客户端IP 地址
$remote_user 记录客户端用户名称
$request 记录请求的URL和HTTP协议
$status 记录请求状态
$body_bytes_sent 发送给客户端的字节数,不包括响应头的大小
$bytes_sent 发送给客户端的总字节数
$connection 连接的序列号
$connection_requests 当前通过一个连接获得的请求数量
$msec 日志写入时间。单位为秒,精度是毫秒
$pipe 如果请求是通过 HTTP 流水线(pipelined)发送, pipe 值为p,否则为.
$http_referer 记录从哪个页面链接访问过来的
$http_user_agent 记录客户端浏览器相关信息
$request_length 请求的长度(包括请求行,请求头和请求正文)
$request_time 请求处理时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止
$time_iso8601 ISO8601 标准格式下的本地时间
$time_local 通用日志格式下的本地时间
$upstream_cache_status 缓存形式
$upstream_response_time 模块响应时间
$upstream_addr 模块地址
3.4样例
 log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" "$upstream_cache_status" '
                      '"$upstream_http_content_type" $request_time $upstream_response_time $bytes_sent $request_length '
                      '"$upstream_addr" $cookie_tenantid "$cookie_yyuid"';

4.open_log_file_cache指令

说明 : 对于每一条日志记录,都将是先打开文件,再写入日志,然后关闭。可以使用 open_log_file_cache 来设置日志文件缓存。实际中用的较少。

默认(格式)值: open_log_file_cache off;

语法格式: open_log_file_cache max=N [inactive=time] [min_uses=N] [valid=time];

样例:open_log_file_cache max=2000 inactive=15s valid=1m min_uses=2;

5. log_not_found 指令

说明:是否在 error_log 中记录不存在的错误
默认(格式)值: log_not_found on;
语法格式:log_not_found on | off;

6.log_subrequest 指令

说明: 是否在 access_log 中记录子请求的访问日志。默认不记录
默认值: log_subrequest off;
语法: log_subrequest on | off;

7.rewrite_log

说明:启用时将在 error log 中记录 notice 级别的重写日志。
默认值: rewrite_log off;
语法: rewrite_log on | off;
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一个高性能的HTTP和反向代理服务器。它可以处理大量的并发连接,而且在处理静态文件时,它的效率非常高。Nginx配置非常灵活,可以通过配置文件来控制其行为。下面是对Nginx详细配置讲解。 1. 配置文件的路径 Nginx配置文件位于/etc/nginx/nginx.conf。在这个文件中,可以设置全局的配置,包括http、server和location等。 2. 配置文件的结构 Nginx配置文件采用了块状结构。每个块都以一个左花括号“{”开始,以一个右花括号“}”结束。块中包含了一些指令,每个指令都以一个分号“;”结束。指令和块之间可以使用空格、制表符或换行符隔开。 3. 全局配置Nginx配置文件中,可以设置一些全局配置,如: worker_processes 2; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; 上面的配置指定了Nginx启动时使用的工作进程数量、错误日志文件的路径和进程ID文件的路径。 4. http配置Nginx配置文件中,可以设置http块,包括一些http相关配置,如: http { include /etc/nginx/mime.types; server_names_hash_bucket_size 64; access_log /var/log/nginx/access.log; server { listen 80; server_name example.com; location / { root /var/www/example.com; index index.html; } } } 上面的配置指定了mime.types文件的路径、服务器名的哈希桶的大小、访问日志文件的路径和一个server块。serve块中指定了监听的端口、服务器名和一个location块。location块中指定了请求的URL和返回的文件路径。 5. server配置Nginx配置文件中,可以设置server块,包括一些server相关配置,如: server { listen 80; server_name example.com; location / { root /var/www/example.com; index index.html; } } 上面的配置指定了监听的端口、服务器名和一个location块。location块中指定了请求的URL和返回的文件路径。 6. location配置Nginx配置文件中,可以设置location块,包括一些location相关配置,如: location / { root /var/www/example.com; index index.html; } 上面的配置指定了请求的URL和返回的文件路径。 7. 反向代理配置Nginx配置文件中,可以设置反向代理服务器,如: server { listen 80; server_name example.com; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } 上面的配置指定了监听的端口、服务器名和一个location块。location块中指定了请求的URL和反向代理服务器的地址,同时还设置了Host和X-Real-IP头部信息。 总结: 以上是对Nginx详细配置讲解,包括了全局配置、http配置、server配置、location配置和反向代理配置等。Nginx配置非常灵活,可以根据实际需求进行配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值