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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于MATLAB读取txt文件的方法[通俗易懂]

    关于MATLAB读取txt文件的方法[通俗易懂]关于MATLAB读取txt文件的方法一、如何读取一个文档下,多个txt文件?一般读取的文件,命名都具有一定的规律,除去相同部分,剩下的变化按照时间、序号、某一特定的标志符等进行排列。下面我们举个例子来操作。假如文件夹里存在以下文件:cs20170701cs20170702cs20170703cs20170704…cs20170731标签:cs代表产品类型,数字代表年月日。总共…

    2022年9月6日
    4
  • C++11特性_object.equals

    C++11特性_object.equalsdecltype与auto关键字一样,用于进行编译时类型推导。decltype实际上有点像auto的反函数,auto可以让你声明一个变量,而decltype则可以从一个变量或表达式中得到类型,例如:intx=3;decltype(x)y=x;有人会问,decltype的实用之处在哪里呢,假如有一个加工产品的函数模板:templatevoidproc

    2022年9月9日
    3
  • java默认上传文件大小限制_文件大小超过云附件总限制

    java默认上传文件大小限制_文件大小超过云附件总限制win系统下解决ASP上传文件大小限制200K_电脑基础知识_IT/计算机_专业资料。win系统下解决ASP上传文件大小限制200K解决ASP上传文件大小限制200Kwin2003系统下的……介绍上传//新建一个SmartUpload对象SmartUploadsu=newSmartUpload();//上传初始化su.initialize(pageCo…

    2025年9月13日
    6
  • Database(Mysql)发版控制二

    Database(Mysql)发版控制二

    2022年1月27日
    61
  • 实例说明optimize table在优化MySQL时很重要

    实例说明optimize table在优化MySQL时很重要

    2021年9月18日
    57
  • 黑苹果 MacOS 10.15 Catalina 安装详细教程带工具资料「建议收藏」

    黑苹果 MacOS 10.15 Catalina 安装详细教程带工具资料「建议收藏」图文教程悦享地址:点击打开链接视频教程B站地址:点击打开链接​一、准备工作  一个8G以上的U盘(有的U盘标的是8G,实际只有X,实际容量小于7.5G的会失败)  MacOS镜像、TransMac(刻录工具)、DiskGenius(分区工具)、EasyUEFI(引导工区)、EFI驱动文件。    二、制作启动U盘  1、将您的U盘插入电脑,为保证成功,首先将U盘以默认值格…

    2022年4月30日
    267

发表回复

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

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