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 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

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

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

953
来自专栏Ken的杂谈

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

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

1081
来自专栏逸鹏说道

Win10 IIS本地部署网站运行时图片和样式不正常?

后期会在博客首发更新:http://dnt.dkill.net 异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4...

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

weex-05-调试工具的使用

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

751
来自专栏LIN_ZONE

mac 初次配置apache,及mac下安装mysql

先打开apache,在浏览器上输入    localhost     回车后会如果屏幕上显示:It works!  如下图:

773
来自专栏魏艾斯博客www.vpsss.net

windows VPS 中如何用网站管理助手建立网站和数据库

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

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

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

1512
来自专栏听雨堂

在虚拟主机上发布.Net应用的一些总结

      因为虚拟主机不方便建立应用程序,所以,基本上应用都是相对于根来说的。目标是:能够快速,简单的发布.Net 2.0 的Web应用程序,要便于管理。尽可...

1919
来自专栏西安-晁州

ELK环境搭建完整说明

ELK:ElasticSerach、Logstash、Kibana三款产品名称的首字母集合,用于日志的搜集和搜索。简单地理解为我们可以把服务端的日志(nginx...

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

如何在CentOS 7上用mod_proxy将Apache设置为反向代理

反向代理是一种代理服务器,它接受HTTP(S)的请求后,把它们发送到一个或多个后端服务器。反向代理非常有用,因为许多现代网络应用使用后端应用程序服务器处理传入的...

1563

扫码关注云+社区