Nginx访问日志,Nginx日志切割,静态文件不记录日志和过期时间

 Nginx访问日志:

vim /usr/local/nginx/conf/nginx.conf //搜索log_format    = 配置文件里面可以查找到日志格式

定义访问日志

定义日志是需要在虚拟主机里面去定义的,nginx里面如果修改了日志格式的名字那么在虚拟主机中定义日志文件需要引用nginx配置文件里面的名字。

vim /usr/local/nginx/conf/vhost/test.com.log   =定义虚拟主机日式文件

定义完以后 -t && -s reload   

[root@aming-01 vhost]# /usr/local/nginx/sbin/nginx -t      = 检测配置文件语法是否错误
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@aming-01 vhost]# /usr/local/nginx/sbin/nginx -s reload    = 重新加载配置文件

测试配置:状态码为200说明ok

cat /tmp/test.com.log  = 查看日志里面的信息

Nginx日志切割:

nginx日志切割需要使用到系统自带的工具,或者写一个切割的脚本

vim /usr/local/sbin/nginx_log_rotate.sh//写入如下内容        = 配置nginx需要的日志切割脚本

#! /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`          = for循环匹配
do
    mv $log $log-$d     =   更改所有配置文件的名字
done
/bin/kill -HUP `cat $nginx_pid`

配置好切割脚本以后可以执行测试一下脚本   sh -x 加上脚本路径   -x =可以显示出脚本执行过程

[root@aming-01 vhost]# sh -x /usr/local/sbin/nginx_log_rotate.sh
++ date -d '-1 day' +%Y%m%d
+ d=20180425
+ logdir=/tmp/
+ nginx_pid=/usr/local/nginx/logs/nginx.pid
+ cd /tmp/
++ ls test.com.log
+ for log in '`ls *.log`'
+ mv test.com.log test.com.log-20180425
++ cat /usr/local/nginx/logs/nginx.pid
+ /bin/kill -HUP 1089

写完脚本以后还需要加上一个任务计划:

crontab -e      = 任务计划

0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh    = 表示每天凌晨0点执行脚本

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

同样是在虚拟主机中配置

vim /usr/local/nginx/conf/vhost/test.com.conf    = 测试的虚拟主机配置文件

配置完以后还需要 -t && -s reload    检查配置文件语法是否有错误和重新加载配置文件

[root@aming-01 vhost]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@aming-01 vhost]# /usr/local/nginx/sbin/nginx -s reload

测试:curl -x127.0.0.1:80 test.com/1.gif/2.gs

cat /tmp/test.con.log

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Ceph对象存储方案

通过ELK实现Nginx日志字段扩展

在日常访问RGW过程中,一般会在RGW前端架设Nginx,并通过Nginx日志来统计或者分析用户请求,但是默认Nginx日志字段是不含bucket_name的,...

1972
来自专栏我是攻城师

ElasticSearch里面如何分组后根据sum值排序

3385
来自专栏每日一篇技术文章

weex-05-调试工具的使用

发现浏览器页面和手机页面同步,你可以点击手机上面的cell 试试看,发现不能跳转页面,可能做了限制!

871
来自专栏bboysoul

nginx开启目录浏览功能(autoindex)

这个博客其实是延迟了很久的一篇博客,暑假的时候做centos镜像站的时候想写的,nginx默认不开启这个功能,开启这个功能之后可以把它当文件浏览器使用

1162
来自专栏hbbliyong

windows 下 nginx 配置文件路径

nginx在windowns下路径 http{ #虚拟主机1 server{ listen 80; #监听端口,基于IP配置的时候变更此...

2967
来自专栏分布式系统进阶

Logstash使用中遇到的一些坑和解决方案

4422
来自专栏云计算教程系列

如何在Ubuntu 16.04上将Redis服务器设置为PHP的会话处理程序

Redis是一个开源键值缓存和存储系统,由于其对多种数据类型(如散列,列表,集合和位图等)的高级支持,也称为数据结构服务器。它还支持群集,使其在高度可用和可扩展...

1193
来自专栏Ken的杂谈

【CentOS7快速上手】2、Apache Server安装&配置

本地修改hosts文件,把hello.html.com指向该CentOS服务器IP,然后通过该域名访问即可。

1411
来自专栏云计算教程系列

Apache基础教程:软件安装和故障排查

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行。由于其跨平台和...

1802
来自专栏菩提树下的杨过

ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程

环境:OS X 10.10.5 + JDK 1.8 步骤: 一、下载ELK的三大组件 Elasticsearch下载地址: https://www.elasti...

2569

扫码关注云+社区