博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间
阅读量:5174 次
发布时间:2019-06-13

本文共 5657 字,大约阅读时间需要 18 分钟。

Nginx访问日志

1. 进入配置文件
[root@panting linux]# vim /usr/local/nginx/conf/nginx.conf  //搜索log_format参考更改配置成如下:log_format aming '$remote_addr $http_x_forwarded_for [$time_local]'
如图:

linux的Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间介绍

日志格式字段含义如下:

combined_realip为日志格式的名字,后面可以调用它。

linux的Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间介绍

2.到虚拟主机配置文件中指定访问日志的路径。
[root@panting linux]# vim /usr/local/nginx/conf/vhost/test.com.conf增加如下内容:access_log /tmp/test.com.log combined_realip;  //这里的combined_realip就是在nginx.conf中定义的日志格式名字
如图:

linux的Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间介绍

3.测试语法及重新加载配置
[root@panting linux]# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@panting linux]# /usr/local/nginx/sbin/nginx -s reload
4.使用curl测试
[root@panting linux]# curl -x127.0.0.1:80 test.com -IHTTP/1.1 200 OKServer: nginx/1.12.1Date: Thu, 04 Jan 2018 09:19:09 GMTContent-Type: text/html Content-Length: 15 Last-Modified: Wed, 03 Jan 2018 13:03:42 GMT Connection: keep-alive ETag: "5a4cd4ae-f" Accept-Ranges: bytes [root@panting linux]# curl -x127.0.0.1:80 test2.com/admin -I HTTP/1.1 301 Moved Permanently Server: nginx/1.12.1 Date: Thu, 04 Jan 2018 09:19:54 GMT Content-Type: text/html Content-Length: 185 Connection: keep-alive Location: http://test.com/admin [root@panting linux]# curl -x127.0.0.1:80 test2.com/admin/index.html -I HTTP/1.1 301 Moved Permanently Server: nginx/1.12.1 Date: Thu, 04 Jan 2018 09:20:04 GMT Content-Type: text/html Content-Length: 185 Connection: keep-alive Location: http://test.com/admin/index.html [root@panting linux]# cat /tmp/test.com.log 127.0.0.1 - [04/Jan/2018:17:19:09 +0800] test.com "/" 200 "-" "curl/7.29.0" 127.0.0.1 - [04/Jan/2018:17:19:54 +0800] test2.com "/admin" 301 "-" "curl/7.29.0" 127.0.0.1 - [04/Jan/2018:17:20:04 +0800] test2.com "/admin/index.html" 301 "-" "curl/7.29.0"

Nginx日志切割

1.自定义一个脚本
[root@panting linux]# vim /usr/local/sbin/nginx_log_rotate.sh定义如下内容:#!/bin/bash## 假设nginx的日志存放路径为/data/logs/d=`date -d "-1 day" +%Y%m%d` //这个日期是昨天的日期,因为日志切割是第二天才执行这个脚本的。 logdir="/data/logs" nginx_pid="/usr/local/nginx/logs/nginx.pid" cd $logdir for log in `ls *.log` do mv $log $log-$d done /bin/kill -HUP `cat $nginx_pid` //跟Nginx的-s重新加载配置文件一样
2.执行脚本

sh执行,-x是显示执行的过程

[root@panting linux]# sh -x /usr/local/sbin/nginx_log_rotate.sh++ date -d '-1 day' +%Y%m%d+ d=20180103+ logdir=/tmp/+ nginx_pid=/usr/local/nginx/logs/nginx.pid + cd /tmp/ ++ ls php_errors.log test.com.log + for log in '`ls *.log`' + mv php_errors.log php_errors.log-20180103 + for log in '`ls *.log`' + mv test.com.log test.com.log-20180103 ++ cat /usr/local/nginx/logs/nginx.pid + /bin/kill -HUP 62748 [root@panting linux]# ls /tmp/ mysql.sock systemd-private-b666888e47f84d62afce0dcb90bdfc91-vmtoolsd.service-09q5L2 pear systemd-private-fdc53ff508e94ecda3c5a90dad98a792-vmtoolsd.service-O5O620 php_errors.log-20180103 test.com.log php-fcgi.sock test.com.log-20180103 systemd-private-6fc6799999fe42dd97426bde338fb145-vmtoolsd.service-qi1M6k
3.任务计划
[root@panting linux]# crontab -e //添加任务计划增加如下内容:0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh

静态文件不记录日志和过期时间

1.修改虚拟主机配置文件
[root@panting linux]# vim /usr/local/nginx/conf/vhost/test.com.conf增加如下内容:location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$  //匹配脱义静态文件    {          expires      7d;   //配置过期时间 access_log off; } location ~ .*\.(js|css)$ //匹配js,css文件 { expires 12h; access_log off; }
如图:

linux的Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间介绍

2.测试语法及重新加载配置
[root@panting linux]# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@panting linux]# /usr/local/nginx/sbin/nginx -s reload
3.使用curl测试
[root@panting linux]# cd /data/wwwroot/test.com[root@gary-tao test.com]# lsadmin  index.html[root@gary-tao test.com]# vim 1.gif[root@gary-tao test.com]# echo "dgagadgadgs" > /data/wwwroot/test.com/2.js [root@gary-tao test.com]# curl -x127.0.0.1:80 test.com/1.gif dggagadggagdag [root@gary-tao test.com]# curl -x127.0.0.1:80 test.com/2.js dgagadgadgs [root@gary-tao test.com]# curl -x127.0.0.1:80 test.com/index.html “test.com” [root@gary-tao test.com]# cat /tmp/test.com.log 127.0.0.1 - [04/Jan/2018:18:53:20 +0800] test.com "/index.html" 200 "-" "curl/7.29.0" [root@gary-tao test.com]# curl -x127.0.0.1:80 test.com/index.html “test.com” [root@gary-tao test.com]# cat /tmp/test.com.log 127.0.0.1 - [04/Jan/2018:18:53:20 +0800] test.com "/index.html" 200 "-" "curl/7.29.0" 127.0.0.1 - [04/Jan/2018:18:53:53 +0800] test.com "/index.html" 200 "-" "curl/7.29.0" [root@gary-tao test.com]# curl -x127.0.0.1:80 test.com/2.js dgagadgadgs [root@gary-tao test.com]# cat /tmp/test.com.log 127.0.0.1 - [04/Jan/2018:18:53:20 +0800] test.com "/index.html" 200 "-" "curl/7.29.0" 127.0.0.1 - [04/Jan/2018:18:53:53 +0800] test.com "/index.html" 200 "-" "curl/7.29.0" [root@gary-tao test.com]# curl -x127.0.0.1:80 test.com/2.jsagdaga  404 Not Found  

404 Not Found


nginx/1.12.1
[root@gary-tao test.com]# cat /tmp/test.com.log 127.0.0.1 - [04/Jan/2018:18:53:20 +0800] test.com "/index.html" 200 "-" "curl/7.29.0" 127.0.0.1 - [04/Jan/2018:18:53:53 +0800] test.com "/index.html" 200 "-" "curl/7.29.0" 127.0.0.1 - [04/Jan/2018:18:55:22 +0800] test.com "/2.jsagdaga" 404 "-" "curl/7.29.0" [root@gary-tao test.com]# curl -x127.0.0.1:80 -I test.com/2.js HTTP/1.1 200 OK Server: nginx/1.12.1 Date: Thu, 04 Jan 2018 10:56:11 GMT Content-Type: application/javascript Content-Length: 12 Last-Modified: Thu, 04 Jan 2018 10:51:59 GMT Connection: keep-alive ETag: "5a4e074f-c" Expires: Thu, 04 Jan 2018 22:56:11 GMT Cache-Control: max-age=43200 //43200秒表示过期时间12小时,与配置文件里一样。 Accept-Ranges: bytes

转载于:https://www.cnblogs.com/pta188/p/9154958.html

你可能感兴趣的文章
HttpRunnerManager使用说明
查看>>
黑马程序员—多线程
查看>>
DataGrid
查看>>
hdu-1559 最大子矩阵(二维树状数组模板题)
查看>>
第一个超级简单Node.js实例
查看>>
单元测试
查看>>
js-JavaScript高级程序设计学习笔记19
查看>>
ubuntu12.04 登录黑屏
查看>>
js实战之-求一个字符串中最多出现的字符数
查看>>
【MySQL故障处理】 Seconds_Behind_Master= NULL Error_code: 1197
查看>>
杨锦锋师兄博士毕业答辩
查看>>
英文原版课程一些连接
查看>>
iOS textfield实现一行的数字限制,超出进行弹框
查看>>
WordCount
查看>>
进程之同步、互斥PV操作笔记
查看>>
XILINX ISE 13.2 安装步骤
查看>>
Mac下安装Redis
查看>>
【翻译】Ext JS最新技巧——2014-5-12
查看>>
hdu 4638 Group
查看>>
AlertDialog具体解释
查看>>