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


相关推荐

  • [奶奶看了都会]京东自动签到薅羊毛-完整教程

    [奶奶看了都会]京东自动签到薅羊毛-完整教程又到了节假日的时间了,每逢节假日必须得搞事情。最近北京疫情管的比较严,楼主去小区旁边的小公园散步,都要出示核酸证明了。。。上一次说到用脚本完成京东自动签到领京豆:[奶奶看了都会]教你用脚本薅京东签到羊毛这个只能领到自动签到任务的豆子而已,还有好多京豆任务都没做了,导致咱白白损失了一波豆豆?所以今天嘛,我们就把京豆的任务都做一遍,把京豆全给领了?手机抓包为了获取到京豆签到的接口,需要在手机京东APP上抓包,这就需要用到手机抓包的技术了楼主对着网上的教程实践了一波,搞了一整天之后,得到的结论是An

    2022年9月15日
    0
  • 京东金融大数据竞赛猪脸识别(8)- 识别方法之四

    京东金融大数据竞赛猪脸识别(8)- 识别方法之四除了softmax层构建的深度网络,Matlab还有一个简单的构建数据分类的函数,那就是patternnet,其用法类似。可以直接对图像特征数据处理,也可以对图像集处理。代码如下:%exam1.m用训练图像特征构建深度网络并计算测试图像得分clear;load(‘JDPig_mlhmslbp_spyr.mat’);m=numel(classe_name);n=length(y)…

    2022年6月21日
    23
  • idea 2021.5 激活码[在线序列号]

    idea 2021.5 激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    64
  • java8 list转换对象_Java8将List对象转换Map「建议收藏」

    java8 list转换对象_Java8将List对象转换Map「建议收藏」基于Java8的函数式编程概念,去实现List转换MappublicclassDemoMian2{publicstaticvoidmain(String[]args){ListusersList=newArrayList();Usersusers=newUsers();users.setId(1L);users.setName(“张三”);users.setSex(…

    2022年5月16日
    298
  • java开发规范(个人理解)

    java开发规范(个人理解)

    2021年8月3日
    390
  • docker启动mysql镜像命令_ubuntu20修改ip命令

    docker启动mysql镜像命令_ubuntu20修改ip命令1、拷贝mysql离线包1.1、将mysql-57.gz安装文件拷贝到linux2、安装mysql2.1、进入mysql安装包目录2.2、加载mysql镜像dockerload-imysql-57.gz2.3、查看镜像dockerimages2.4、创建mysql容器启动mysql镜像,创建一个mysql容器dockerrun-d–namemysql-p3307:3306-eMYSQL_ROOT_PASSWORD=1234569e64d176cd

    2022年9月25日
    0

发表回复

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

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