12.10 Nginx访问日志
12.11 Nginx日志切割
12.12 静态文件不记录日志和过期时间
12.10 Nginx访问日志
Nginx的访问日志需要在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加语句
主配置文件
1 | [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf |
找到log_format
这行就是定义访问日志的格式语句 其中Nginx里;
表示语句的结束
参数 | 含义 |
---|---|
combined_realip | 日志名字 可以换其他名字 |
$remote_addr | 访问的IP(客服端IP) |
$http_x_forwarded_for | 代理服务器IP |
$time_local | 服务器本地时间 |
$host | 主机名(域名) |
$request_uri | 访问的URL地址 |
$http_referer | referer |
$http_user_agent | user_agent |
虚拟主机配置文件
1 | [root@localhost ~]# vim /usr/local/nginx/conf/vhost/test2.com.conf |
进入tes2站点的配置文件输入下面语句1
access_log /tmp/test2.log combined_realip;
/tmp/test2.log
日志路径 combined_realip
日志格式的名字
加载
1 | [root@localhost ~]# /usr/local/nginx/sbin/nginx -t |
查看日志
1 | [root@localhost ~]# tail /tmp/test2.log |
12.11 Nginx日志切割
Nginx没有自带的日志切割工具。我们可以使用自定义的脚本来切割日志,一般自定义的脚本都是放在/usr/local/sbin/
目录下
步骤
1.编辑自定义的脚本
1 | [root@localhost ~]# vim /usr/local/sbin/nginx_log_rotate.sh |
1 | #! /bin/bash |
d=`date -d “-1 day” +%Y%m%d`表示前一天的时间
logdir=”/tmp” 访问日志的目录
nginx_pid=”/usr/local/nginx/logs/nginx.pid”指定PID
/bin/kill -HUP `cat $nginx_pid`相当于是重新加载 由于旧日志已改名字 用于生成原来的日志来记录当天的日志
2.把脚本添加到任务计划
1 | [root@localhost ~]# crontab -e |
表示每天的0时0分执行日志切割脚本1
[root@localhost ~]# systemctl start crond
启动crond服务
直接执行脚本
1 | [root@localhost ~]# sh -x /usr/local/sbin/nginx_log_rotate.sh |
-x
可视化执行过程
3.由于时间旧了日志增多,使用find命令把日志删除掉
1 | [root@localhost ~]# find /tmp/ -type f -name *.log* mtime +30 |xargs rm |
名字带.log并且mitme大于30天的文件删除掉
12.12 静态文件不记录日志和过期时间
步骤
1.以test2站点为例 编辑虚拟主机配置文件
1 | [root@localhost ~]# vim /usr/local/nginx/conf/vhost/test2.com.conf |
1 | server |
expires
定义过期时间 access_log
off表示不记录日志
2.检查语法并加载配置文件
1 | [root@localhost vhost]# /usr/local/nginx/sbin/nginx -t |
测试
模拟图片和js文件 并使用日志和curl命令查看1
2[root@localhost ~]# vim /var/www/test2/1.png
[root@localhost ~]# vim /var/www/test2/1.js
1 | [root@localhost ~]# curl -x 192.168.80.102:80 test2.com/1.png -I |
查看日志并没有记录刚刚的访问1
2
3[root@localhost ~]# tail /tmp/test2.log
192.168.80.102 - [08/Jun/2018:22:39:14 +0800] test2.com "/1.jsasdas" 404 "-" "curl/7.29.0"
192.168.80.102 - [08/Jun/2018:22:39:19 +0800] test2.com "/1.jsasdas" 404 "-" "curl/7.29.0"