首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux学习第四十五篇:Nginx访问日志,Nginx日志切割,静态文件不记录日志和过期时间

linux学习第四十五篇:Nginx访问日志,Nginx日志切割,静态文件不记录日志和过期时间

作者头像
用户1215343
发布于 2018-02-05 11:13:56
发布于 2018-02-05 11:13:56
1.1K00
代码可运行
举报
文章被收录于专栏:linux运维学习linux运维学习
运行总次数:0
代码可运行

Nginx访问日志

  • 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索log_format 下图中就是Nginx的日志格式: combined_realip是日志格式名,我们可以自己自定义,这里我们改为xie_log

字段

含义

$remote_addr

客户端IP(公网IP)

$http_x_forwarded_for

代理服务器的IP

$time_local

服务器本地时间

$host

访问主机名(域名)

$request_uri

访问的url地址

$status

状态码

$http_referer

referer

$http_user_agent

user_agent


  • 定义test.com的日志:

用curl访问test.com后查看日志:

Nginx日志切割

  • 自定义shell 脚本 vim /usr/local/sbin/nginx_log_rotate.sh 写入如下内容
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#! /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重新加载配置文件一样
  • 执行一下这个脚本,sh执行,-x是显示执行的过程: sh -x /usr/local/sbin/nginx_log_rotate.sh
  • crontab -e 添加任务计划: 0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh //每天凌晨0点执行这个脚本

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

  • vim /usr/local/nginx/conf/vhost/test.com.conf 配置如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ //匹配静态文件
    {
          expires      7d; //过期时间
          access_log off;
    }
location ~ .*\.(js|css)$ //匹配js,css文件
    {
          expires      12h;
          access_log off;
    }
  • 保存退出后记得-t,-s测试加载配置文件
  • curl测试: 以gif,js等等这些文件结尾的静态文件都不会记录在日志中
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年01月02日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Nginx访问日志、日志切割、静态文件管理 原
说明: “combined_ realip”:日志格式名称;'$remote_ addr $http_ x_ forwarded_ for [$time_ local]' ' $host "$request_uri" $status' ' "$http_ referer" "$http_ user_ agent"' :日志内容。 注释:
阿dai学长
2019/04/03
8630
Linux基础(day50)
12.10 Nginx访问日志 Nginx访问日志目录概要 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索log_format $remote_addr客户端IP(公网IP) $http_x_forwarded_for代理服务器的IP $time_local服务器本地时间 $host访问主机名(域名) $request_uri访问的url地址 $status状态码 $http_refererreferer $http_user_agentuser_age
运维小白
2018/02/06
7480
2018-3-14 Linux学习笔记
12.10 Nginx访问日志 Nginx访问日志的格式是在主配置文件中定义的. vim /usr/local/nginx/conf/nginx.conf //搜索log_format 日志字段含
py3study
2020/01/14
5600
Nginx访问日志,Nginx日志切割,静态文件不记录日志和过期时间
其中的combined_realip是日志的名称,这个名称可以自定义,但是你定义了什么名称,后面你操作日志的时候也要使用这个名称。就像你给一个人起名叫李四,你就得用李四这个名字去叫他干活。剩下的字符串含义在上面的图片已经介绍了,就不赘述了。
端碗吹水
2020/09/23
5.5K0
Nginx访问日志,Nginx日志切割,静态文件不记录日志和过期时间
12.11 Nginx日志切割
Nginx日志切割目录概要 自定义shell 脚本 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 $l
运维小白
2018/02/06
1.1K0
Nginx访问日志+日志切割+静态文件不记录和过期时间设置
一、 Nginx访问日志 1.1 打开配置文件: vim /usr/local/nginx/conf/vhost/../nginx.conf 找到如下,是定义日志格式: log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' ' $host "$request_uri" $status' ' "$http_referer" "$http_user_agent"'; combined_real
老七Linux
2018/05/09
1.2K0
学习笔记0516----nginx配置
在Nginx中也有默认虚拟主机,跟httpd类似,第一个被Nginx加载的虚拟主机就是默认主机,但和httpd不相同的地方是,它还有一个配置用来标记默认虚拟主机,也就是说,如果没有这个标记,第一个虚拟主机为默认虚拟主机。
嘻哈记
2020/11/24
1.1K0
Nginx访问日志,Nginx日志切割,静态文件不记录日志和过期时间
 Nginx访问日志: vim /usr/local/nginx/conf/nginx.conf //搜索log_format    = 配置文件里面可以查找到日志格式 定义访问日志 定义日志是需要在
叶瑾
2018/06/14
1.4K0
12.10 Nginx访问日志
Nginx访问日志目录概要 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索log_format $remote_addr客户端IP(公网IP) $http_x_forwarded_for代理服务器的IP $time_local服务器本地时间 $host访问主机名(域名) $request_uri访问的url地址 $status状态码 $http_refererreferer $http_user_agentuser_agent 除了在主配置文件ngi
运维小白
2018/02/06
9420
03 . Nginx日志配置及日志切割
access_log /usr/local/nginx/logs/b_test/access.log;
iginkgo18
2020/09/27
2.7K0
NGINX日志切割
Nginx日志对于统计、系统服务排错很有用。 Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志)。 access.log 记录哪些用户,哪些页面以及用户浏览器,IP等访问信息; error.log 记录服务器错误的日志;
云计算小黑
2022/12/28
9700
NGINX日志切割
搭建一个高可用负载均衡的集群架构(第二部分)
14 搭建zabbix监控告警系统,要求监控各个基础指标(cpu、内存、硬盘),网卡流量需要成图,还需要监控web站点的可用性,
端碗吹水
2020/09/23
6330
搭建一个高可用负载均衡的集群架构(第二部分)
Nginx 日志切割
日志切割 当网站访问量大后,日志数据就会很多,如果全部写到一个日志文件中去,文件会变得越来越大,文件大速度就会慢下来,比如一个文件几百兆,写入日志的时候,就会影响操作速度. 手动切割 --进入日志目录 cd /usr/local/nginx/logs/ --重命名日志文件 [root@host1 logs]# mv access{,.$(date +%F)}.log [root@host1 logs]# ls access.2020-09-18.log access.log error.log ng
剧终
2021/01/14
1.5K0
12.13 Nginx防盗链
Nginx防盗链目录概要 配置如下,可以和上面的配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403; } access_log off
运维小白
2018/02/06
7310
linux学习第四十篇:访问日志不记录静态文件,访问日志切割,静态元素过期时间
访问日志不记录静态文件 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 。如果不去做限制,每个请求都包含很多图片,每个请求都会记录日志,日志会变得越来越大,不仅会消耗磁盘空间还会消耗磁盘IO。 把虚拟主机配置文件添加如下: SetEnvIf Request_URI ".*\.gif$" img //img是一个标签,也可以是其他的,自定义 SetEnvIf Request_URI ".*\.jpg$" img SetEnvIf Request_URI "
用户1215343
2018/02/05
1K0
linux学习第四十篇:访问日志不记录静态文件,访问日志切割,静态元素过期时间
12.14 Nginx访问控制
Nginx访问控制目录概要 需求:访问/admin/目录的请求,只允许某几个IP访问,配置如下: location /admin/ { allow 192.168.74.129; allow 127.0.0.1; deny all; } mkdir /data/wwwroot/test.com/admin/ echo “test,test”>/data/wwwroot/test.com/admin/1.html -t && -s reload curl -x127.0.0.1:80
运维小白
2018/02/06
3.1K0
linux学习第四十六篇:Nginx防盗链,Nginx访问控制,Nginx解析php相关配置,Nginx代理
Nginx防盗链 vim /usr/local/nginx/conf/vhost/test.com.conf 配置如下,可以和上面的配置结合起来: location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; //定义白名单 if ($invalid_re
用户1215343
2018/02/05
1.7K0
linux学习第四十六篇:Nginx防盗链,Nginx访问控制,Nginx解析php相关配置,Nginx代理
Linux基础(day49)
12.6 Nginx安装 Nginx安装目录概要 cd /usr/local/src wget http://nginx.org/download/nginx-1.12.1.tar.gz tar zxf nginx-1.12.1.tar.gz ./configure --prefix=/usr/local/nginx make && make install vim /etc/init.d/nginx //复制如下内容(参考https://coding.net/u/aminglinux/p/amingli
运维小白
2018/02/06
1.1K0
nginx 日志切割
1.nginx_log_rotate.sh文件 #nginx日志切割脚本 #author: joshau317 #!/bin/bash #1.设置日志文件存放目录,假设你的nginx的日志存在这个目录里 logs_path="/data/logs/nginx/" #2.设置pid文件,这个根据你自己的环境,找到nginx.pid所在目录 pid_path="/usr/local/nginx/logs/nginx.pid" #3.创建分割存储的日期文件目录 datetime=`date -d "yest
joshua317
2018/04/16
1.6K0
LNMP环境搭建
Nginx的PHP安装和LAMP环境搭建中的PHP安装是有区别的。因为Nginx中的PHP是以fastcgi的方式结合Nginx的,而httpd是把PHP作为自己的模块来调用的。
刘銮奕
2019/07/22
2.4K0
相关推荐
Nginx访问日志、日志切割、静态文件管理 原
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档