nginx 日志管理「建议收藏」

nginx 日志管理「建议收藏」打开nginx.conf配置文件我们观察nginx的server段,可以看到如下类似信息#access_loglogs/host.access.logmain;这说明该server,它的访问日志的文件是logs/host.access.log,使用的格式”main”格式.除了main格式,你可以自定义其他格式.main格式是什么?log_form…

大家好,又见面了,我是你们的朋友全栈君。

打开nginx.conf配置文件

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” ‘

    #                  ‘$status $body_bytes_sent “$http_referer” ‘

    #                  ‘”$http_user_agent” “$http_x_forwarded_for”‘;

main格式是我们定义好一种日志的格式,并起个名字,便于引用.

以上面的例子, main类型的日志,记录的 remote_addr…. http_x_forwarded_for等选项.

$remote_addr :与$http_x_forwarded_for用以记录客户端的ip地址;

$remote_user :记录客户端用户的名称;

$time_local  :访问时间及时区;

$request     :请求的URL与HTTP协议;

$status     :记录请求状态

$body_bytes_sent:记录发送给客户端文件主体内容大小;

$http_referer:用来记录从那个页面链接访问过来的;

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

我们可以配置我们自己常用的信息:

$bytes_sent :客户端发送的字节数

$request_length:客户端请求的长度

$http_host   :客户端请求的地址请求地址,即浏览器中你输入的地址(IP或域名)

$upstream_status:upstream状态

$upstream_addr   :后台upstream的地址,即真正提供服务的主机地址 

$request_time        : 整个请求的总时间 

$upstream_response_time:请求过程中,upstream响应时间 

$request_body   :POST数据

我们把日志配置打开:

nginx 日志管理「建议收藏」

修改配置文件之后,尝试下配置文件是否正确,以免影响项目运行,进入到sbin目录下  ./nginx -t  检验配置文件是否有错nginx 日志管理「建议收藏」  配置语法等验证通过

重启运行nginx,发现在logs下生成了一个logs/host.access.lognginx 日志管理「建议收藏」

还有一个access.log日志文件,可以看到上面已经注释了这个日志配置。其实这个文件是nginx默认生成的日志文件。

然后访问几次。看是否有记录

打开日志文件logs/host.access.log :

nginx 日志管理「建议收藏」

记录了2次访问的记录,我实际也只是访问了2次。格式就是使用的main的格式内容,看看自己的IP对不对,验证下

 连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::983f:2a2f:14db:549a%8
   IPv4 地址 . . . . . . . . . . . . : 192.168.18.103
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.18.1

发现不对呢,但是我访问的次数和记录的次数是一致的

remote_addr:

代表客户端的IP,但它的值不是由客户端提供的,而是服务端根据客户端的ip指定的,当你的浏览器访问某个网站时,假设中间没有任何代理,那么网站的web服务器(Nginx,Apache等)就会把remote_addr设为你的机器IP,如果你用了某个代理,那么你的浏览器会先访问这个代理,然后再由这个代理转发到网站,这样web服务器就会把remote_addr设为这台代理机器的IP,除非代理将你的IP附在请求header中一起转交给web服务器。

我的网络是中国移动的,说白了,我的IP其实就是内网IP,宽带提供商没有足够的公网ip,分配的是个内网ip.上面会有一个移动的代理服务器或者交换机等,所以我的网速有点慢。nginx记录的是移动的公网IP

获取真实IP地址后面讲解,以上就是nginx日志的一些内容,希望能帮助到一些小伙伴

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140745.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • it创业怎么起步_典型it项目有哪些

    it创业怎么起步_典型it项目有哪些之前是一个想法,现在已经进入创业阶段,所以这个系列的标题,改了。众筹的事在今天也停止了。7-9号会在深圳龙岗布吉参加一个风投对接的活动,今晚(6号)会出发。因为:在深圳会呆几天,而且这个会估计有很多内

    2022年8月5日
    7
  • 基于Scrapy的IP代理池搭建[通俗易懂]

    基于Scrapy的IP代理池搭建[通俗易懂]目录一、为什么要搭建爬虫代理池二、搭建思路三、搭建代理池items.pykuai_proxy.pymiddlewares.pypipelines.pysettings.pyutils.py一、为什么要搭建爬虫代理池在众多的网站防爬措施中,有一种是根据ip的访问频率进行限制,即在某一时间段内,当某个ip的访问次数达到一定的阀值时,该ip就会被拉黑、在一段时…

    2022年5月1日
    65
  • qt中readyread信号的使用_心动的信号cp组合有哪些

    qt中readyread信号的使用_心动的信号cp组合有哪些本文主要介绍readyread函数的触发机制,会涉及到一点tcp/ip和流的知识。tcp/ip和流这方面其他朋友介绍很多了,这里我就不再赘述。本文不打算使用太过专业的词汇,一方面主要目的是让大家明白,另一方面是我也不太专业。一、问题描述:你之所以会来看我这篇文章,大概是遇到了一下几个问题:1、使用QTcpSocket时,readyread函数没有触发,或者触发了,但是触发次数不是自己想…

    2025年10月14日
    3
  • 在 Ubuntu 12.04 上通过安装源安装 Open vSwitch (OVS)

    在 Ubuntu 12.04 上通过安装源安装 Open vSwitch (OVS)

    2021年12月9日
    78
  • 通过@MapperScan源码了解Spring自定义注解扫描器[通俗易懂]

    通过@MapperScan源码了解Spring自定义注解扫描器[通俗易懂]我们在使用springboot整合MyBatis时,需要在启动类上添加上@MapperScan注解,并写入mapper接口的包路径,然后我们就能通过从springIOC容器中取对应的mapper的Bean来进行持久化操作了,那么@MapperScan是如何将mapper接口实例化并注入到SpringIOC容器中的呢?首先搭建一个springboot项目,引入mybatis和mysql的相…

    2022年5月22日
    129
  • jboss安装与配置_andrax安装出错

    jboss安装与配置_andrax安装出错一.              下载与安装JBoss在本文中,我们下载的JBoss版本为:4.2.1.GA。下载地址:http://www.jboss.org/jbossas/downloads/在如上的下载页中下载JBoss-4.2.1.GA.zip文件。下载完成后,将其解压缩后即可完成安装,解压缩后将其放置到一个不带空格的目录(若目录带有空格,例如:C:

    2022年10月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号