12.10 Nginx访问日志;12.11 Nginx日志切割;12.12 静态文件不记录日志和过期时间

简介:

12.10 Nginx访问日志

1. 编辑...nginx.conf主配置文件,自定义日志格式名称

[root@hao-01 conf]# vim /usr/local/nginx/conf/nginx.conf

更改内容(定义日志格式名字)

log_format hao $remote_addr(日志格式)wKioL1mNVMaiyn8yAABS1tMUrcM313.png

spacer.gif

nginx日志格式:

wKiom1mNVNuAKTREAAB1j7E2FIE250.png

spacer.gif2. 定义test.com虚拟主机配置文件(增加访问日志项):

[root@hao-01 vhost]# vim /usr/local/nginx/conf/vhost/test.com.conf

增加内容(访问日志,存储位置,格式名称,分号为结束符号)

access_log /tmp/test.com.log hao;wKioL1mNVQ2AxfUeAAAyUTAl5cQ568.png

spacer.gif3. 检测nginx配置文件是否有错?

[root@hao-01 default]# /usr/local/nginx/sbin/nginx -t

4. 重新加载nginx配置文件(非重启!):

[root@hao-01 default]# /usr/local/nginx/sbin/nginx -s reload

5. curl 访问test.com网站地址:

[root@hao-01 ~]# curl -x127.0.0.1:80 test2.com/admin/index.html

6. curl 访问test.com网站地址:

[root@hao-01 ~]# curl -x127.0.0.1:80 test3.com/admin/index.html

7. 查看test.com主机(网站)的访问日志内容:

[root@hao-01 ~]# cat /tmp/test.com.log

spacer.gif

12.11 Nginx日志切割

1. 编写一个日志切割shell脚本

[root@hao-01 ~]# vim /usr/local/sbin/nginx_log_rotate.sh

脚本内容:

#! /bin/bash

d=`date -d "-1 day" +%Y%m%d`

logdir="/tmp/"

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`

wKiom1mNVUyBx8UCAAAoPEqI6o4878.pngspacer.gif

2. 执行日志切割shell脚本

[root@hao-01 ~]# sh -x /usr/local/sbin/nginx_log_rotate.sh

3. 查看/tmp/目录下,匹配含有.log文件(这里指日志文件)

[root@hao-01 ~]# ls /tmp/*.log*wKioL1mNVWaQbp-gAAALqxw2AVU660.png

spacer.gif

4. 删除(定期清理老日志)/tmp/目录下,匹配大于10天含有.log-日志文件: [root@hao-01 ~]# find /tmp/ -name *.log-* -type f -mtime +10 |xargs rm

5. 把切割nginx日志脚本加入任务计划设定每天凌晨零点执行一次

[root@hao-01 ~]# crontab -e

wKioL1mNW2Dwwo31AAAWB8XqDaQ025.png

spacer.gif

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

1. 编辑test.com虚拟主机配置文件(设定日志过滤静态文件和缓存静态文件时间):  [root@hao-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf

增加内容(日志过滤静态文件和缓存静态文件时间)

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 7d;

access_log off;

}

location ~ .*\.(js|css)$

{

expires 12h;

access_log off;

}

wKiom1mNVb7ifQm5AABL6Rd49ZE590.png

spacer.gif2. 检测nginx配置文件是否有错?

[root@hao-01 default]# /usr/local/nginx/sbin/nginx -t

3. 重新加载nginx配置文件(非重启!):

[root@hao-01 default]# /usr/local/nginx/sbin/nginx -s reload

4. 进入test.com网站目录下:

[root@hao-01 ~]# cd /data/wwwroot/test.com/

5. 创建一些以.jpg .png .js格式静态文件

[root@hao-01 test.com]# touch /data/wwwroot/test.com/1.jpg 2.png 3.js

wKiom1mNXPXB42fwAAASrZ74O_w054.png

spacer.gif6. curl访问 test.com网站下1.jpg静态格式文件

[root@hao-01 test.com]# curl -x127.0.0.1:80 test.com/1.jpg -I

wKiom1mNXNrS6D_aAABEGpQC4dc858.png

7. 查看test.com网站的访问日志,看看是否有记录静态格式文件访问???  [root@hao-01 test.com]# cat /tmp/test.com.log 










本文转自 主内安详 51CTO博客,原文链接:http://blog.51cto.com/zhuneianxiang/1955398,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
29天前
|
存储 JSON 应用服务中间件
Higress的日志收集中,底层用的是Envoy,可不可以实现类似NGINX的rsyslog发送?
【2月更文挑战第30天】Higress的日志收集中,底层用的是Envoy,可不可以实现类似NGINX的rsyslog发送?
15 2
|
1月前
|
前端开发 Java 应用服务中间件
Nginx访问异常的解决方法
Nginx访问异常的解决方法
|
3月前
|
Java 应用服务中间件 nginx
微服务框架(二十九)Logstash Nginx 日志上报
此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。 本文为Logstash Nginx 日志上报 本系列文章中所使用的框架版本为Spring Boot 2.0.3...
|
3月前
|
JSON 应用服务中间件 API
利用Grafana的API Key+Nginx反向代理实现Grafana免登录访问
利用Grafana的API Key+Nginx反向代理实现Grafana免登录访问
87 1
|
11天前
|
运维 监控 应用服务中间件
LNMP详解(十四)——Nginx日志详解
LNMP详解(十四)——Nginx日志详解
16 2
|
11天前
|
应用服务中间件 网络安全 nginx
nginx配置https访问
nginx配置https访问
24 0
|
21天前
|
应用服务中间件 nginx
nginx配置https和直接访问静态文件的方式
nginx配置https和直接访问静态文件的方式
27 3
|
28天前
|
前端开发 应用服务中间件 nginx
nginx中配置不输入端口(指定地址)访问项目的方法
nginx中配置不输入端口(指定地址)访问项目的方法
23 0
|
1月前
|
域名解析 网络协议 应用服务中间件
nginx-ingress通过ipv6暴露服务,并在nginx ingress日志中记录客户端真实ipv6的ip地址
本文主要通过阿里云提供的clb和nlb来实现,建议是提前创建好双栈的vpc和vsw(使用clb可以不用双栈vpc和vsw)
175 1
|
3月前
|
负载均衡 Ubuntu 应用服务中间件
如何在Nginx上阻止特定IP地址的访问,以增强服务器的安全性
如何在Nginx上阻止特定IP地址的访问,以增强服务器的安全性
38 0
如何在Nginx上阻止特定IP地址的访问,以增强服务器的安全性