当前位置:首页 > 技术分享 > 正文内容

更改 nginx 默认日志格式,带上访问的host域名

admin2年前 (2022-09-14)技术分享2717

默认的日志格式

默认的日志格式如下(有的不显示,有的有显示但是默认是注解掉的,系统也自动会使用):


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

    #access_log  logs/access.log  main;


一、nginx.conf加自定义日志格式

带host域名信息的日志

121.69.18.90 - - [01/Jul/2022:10:29:13 +0800]"GET http://t-test.cn/app/common/config?sign=7f7292411e364ebe167375bfda2e5315491ab040e0e1300a27f52ce7e2b01306 HTTP/1.1" 200 918 "-" "PostmanRuntime/7.26.5" "-" - "0.022"

#带host域名信息的日志格式

log_format  main_host '$remote_addr - $remote_user [$time_local]'
      '"$request_method $scheme://$host$request_uri $server_protocol" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" - "$request_time"';


不带host域名信息的日志

121.69.18.90 - - [01/Jul/2022:10:25:25 +0800] "GET /app/common/config?sign=7f7292411e364ebe167375bfda2e5315491ab040e0e1300a27f52ce7e2b01306 HTTP/1.1" 200 84 "-" "okhttp/3.12.0" "-"  - "0.017"


#不带host域名信息的日志格式

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

在域名配置server配置块或者配置文件中引用配置信息,在配置下面该配置项的时候,直接在后面加一个main就行,也就是log_format后跟的名称:


access_log  /data/logs/nginx/access.log ;

注意:名字要保持一致否则不生效

二、具体的server里加access_log,可以同时加多条

access_log  /home/accesslogs/main_test.log main_test;

access_log  /home/accesslogs/main_host.log main_host;


  • 日志参数详解


$http_x_forwarded_for  #客户端的真实ip通常web服务器放在反向代理的后面这样就不能获取到客户的IP地址了通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中可以增加x_forwarded_for信息用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。$remote_addr   # 远程客户端的IP地址
$remote_user  #远程客户端用户名称用于记录浏览者进行身份验证时提供的名字如果没有登录就是空白。
$time_local  #访问的时间与时区比如18/Jul/2012:17:00:01 +0800时间信息最后的"+0800"表示服务器所处时区位于UTC之后的8小时。
$request_method #HTTP请求方法,通常为"GET"或"POST"$scheme #请求使用的Web协议,"http" 或 "https"$host #HTTP请求行的主机名>"HOST"请求头字段>符合请求的服务器名.请求中的主机头字段,如果请求中的主机头不可用,则为服务器处理请求的服务器名称
$request_uri #这个变量等于包含一些客户端请求参数的原始URI,它无法修改,请查看$uri更改或重写
$uri  #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html"$query_string #请求中的参数值
$server_protocol #服务器的HTTP版本,通常为 "HTTP/1.0" 或 "HTTP/1.1"$status #HTTP响应代码
$body_bytes_sent #传输给客户端的字节数,响应头不计算在内;这个变量和Apache的mod_log_config模块中的"%B"参数保持兼容
$http_referer #url跳转来源,用来记录从那个页面链接访问过来的
$http_user_agent #用户终端浏览器等信息
$request_time #处理客户端请求使用的时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。
$upstream_addr #真正提供服务的主机地址
$request_id  #生产唯一ID方便查询问题
$upstream_response_time #请求过程中upstream的响应时间

小技巧把--.log日志实时显示到屏幕

 tail -f host.access.log 把最后的日志实时显示到屏幕


扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:http://blog.bitefu.net/post/419.html

分享给朋友:

相关文章

php-cgi占用太多cpu资源而导致服务器响应过慢 利用进程和Linux的proc 定位耗资源文件

php-cgi占用太多cpu资源而导致服务器响应过慢 利用进程和Linux的proc 定位耗资源文件

在此环境下,一般php-cgi运行是非常稳定的,但也遇到过php-cgi占用太多cpu资源而导致服务器响应过慢,我所遇到的php-cgi进程占用cpu资源过多的原因有: 1. 一些php的扩展与php版本兼容存在问题,实践证明 e...

关于微信第三方平台(全网发布检测)检测流程以及踩到的坑

关于微信第三方平台(全网发布检测)检测流程以及踩到的坑

能点到全网发布这一步,说明你已经弄好了获取component_verify_ticket,component_access_token等这些参数,通常这个时候点击全网发布只会有这两个失败。如果其他失败的那就要好好检查一下你的代码了,或者查看...

微软版Ghost Win10:FFU映像备份和还原

微软版Ghost Win10:FFU映像备份和还原

在日常的维护中,系统的备份和还原是大家经常需要操作的事情。虽然Windows 10已经提供很多的工具,如系统还原、WIM备份/还原,VHD备份等。不过这些工具大多是基于文件的备份/还原。我们以前经常的使用的Ghost则是基于扇区的备份/还原...

安装Windows 10X 教你如何安装Win10X正式版 及下载地址

安装Windows 10X 教你如何安装Win10X正式版 及下载地址

安装Windows 10X 教你如何安装Win10X正式版:Windows 10X是Windows 10操作系统的新版本,主要针对双屏电脑。由于即将运行Windows 10X的双屏电脑(例如即将面世的Surface Neo)的开发遇到挫折,...

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~10.0)。与 Xposed 相比,目前 VirtualXposed 有...

PHP AES加解密 (ECB模式/sha1prng算法/PKCS5Padding和PKCS7Padding补码) ECB 模式不需求设置 iv

php7+ 版本/**  * [AesSecurity aes加密,支持PHP7+]  * 算法模式:ECB  * 密钥长度:128  * 补...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。