课程名称:12.10 Nginx访问日志
笔记内容:

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
定义日志格式

combined_realip:日志格式名字,可以写任意,但是后面应用都要写这个

log_format ys '$remote_addr $http_x_forwarded_for [$time_local]'
' $host "$request_uri" $status'
' "$http_referer" "$http_user_agent"';

除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加

[root@localhost ~]# vim /usr/local/nginx/conf/vhost/test.com.conf
增加access_log /tmp/test.com.log ys;


检测加载

课程名称:12.11 Nginx日志切割
笔记内容:
Nginx没有自带的日志切割工具,借助系统自带可以使用系统logrotate命令切割日志的方法(自己扩展)
也可以自己写脚本(课程)
Shell脚本(所有的脚本放在/usr/local/sbin目录下)
创建[root@localhost ~]# vim /usr/local/sbin/nginx_log_rotate.sh
样例:
#! /bin/bash
/data/logs/ (假设nginx的日志存放路径)
d=date -d "-1 day" +%Y%m%d (为了生成日期,年月日)
([root@localhost ~]# date -d "-1 day" +%Y%m%d
20180605 昨天的日期显示的命令 切割的日志一定是昨天的)
logdir="/data/logs" (日志路径)
nginx_pid="/usr/local/nginx/logs/nginx.pid"
(找PID 为了执行最下面/bin/kill -HUP cat $nginx_pid这条命令)
cd $logdir (到日志路径下)
做循环
举例:
([root@localhost vhost]# for f in 'ls ' ; do ls -l $f ; done

f代表文件(变量名字),in在哪里进行循环,ls则是显示出来,
这里就是在这两个文件中进行循环;ls这个目录下都有哪些文件每一个文件作为它一次循环的对象,第一次$f为aaa.com.conf,第二次$f为 test.com.conf,同理下面这个循环)
for log in ls *.log (以log作为变量,ls查看有哪些log)
do
mv $log $log-$d (所有的log改下名字加上日期)
done
/bin/kill -HUP cat $nginx_pid
(此命令与 /usr/local/nginx/sbin/nginx -s reload加载是一样的,日志切割,实际还是在写原来的日志,只有加载了才会写新的日志)

执行脚本 sh为执行脚本命令 -x查看脚本执行的过程
[root@localhost vhost]# sh -x /usr/local/sbin/nginx_log_rotate.sh

++ date -d '-1 day' +%Y%m%d (定义变量)

  • d=20180605 (d就是变量)
  • logdir=/tmp/ (日志目录)
  • nginx_pid=/usr/local/nginx/logs/nginx.pid
  • cd /tmp/ (进入日志目录)
    ++ ls test.com.log yum.log (有两个日志文件,循环了两次)
  • for log in 'ls *.log'
  • mv test.com.log test.com.log-20180605 (第一次循环生成日志后面加了日期后缀)
  • for log in 'ls *.log'
  • mv yum.log yum.log-20180605 (第二次循环日志生成后面加了日期后缀)
    ++ cat /usr/local/nginx/logs/nginx.pid (cat下PID)
  • /bin/kill -HUP 2026 (加载后生成新的文件yum.log和test.com)

    写完脚本后需要写任务计划
    [root@localhost vhost]# crontab -e
    每天凌晨零点去执行脚本
    0 0 /bin/bash /usr/local/sbin/nginx_log_rotate.sh

    30天以前的日志做删除
    [root@localhost vhost]# find /tmp/ -name
    .log-* -type f -mtime +30 |xargs rm

课程名称:12.12 静态文件不记录日志和过期时间
笔记内容:
[root@localhost ~]# vim /usr/local/nginx/conf/vhost/test.com.conf
location ~ ..(gif|jpg|jpeg|png|bmp|swf)$
(location匹配的意思 \脱义符(为了精准匹配 文件名.jpg) |或者的意思)
{
expires 7d; (过期时间,缓存在用户浏览器中时间)
access_log off;
}
location ~ .
.(js|css)$
{
expires 12h;
access_log off;
}

检查和加载

配置文件中expires的效果(过期时间)

转载于:https://blog.51cto.com/13613708/2126217

6月8日任务(12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件)相关推荐

  1. 永恒传奇三服务器维护中,仙境传说ro3月3日5点-10点停服维护

    亲爱的冒险者, 我们将于3月3日5点-10点进行一次停服维护,此次维护将更新部分游戏内容并修复一些问题.维护期间无法进入游戏,敬请谅解. 维护结束后,我们将向全体冒险者发放5个「冒险家硬币」.3个「暖 ...

  2. 守护永恒服务器维护,2月24日5点-10点游戏停服维护公告

    亲爱的冒险者, 我们将于2月24日5点-10点进行一次停服维护,此次维护将更新部分游戏内容并修复一些问题.维护期间无法进入游戏,敬请谅解. 维护结束后,我们将向全体冒险者发放5个「冒险家硬币」.3个「 ...

  3. ro手游服务器维护公告,仙境传说手游 7月22日5点-10点停服维护公告

    亲爱的冒险者, 我们将于7月22日5点-10点进行一次停服维护,此次维护将更新部分游戏内容并修复一些问题.维护期间无法进入游戏,敬请谅解. 维护结束后,我们将向全体冒险者发放5个「冒险家硬币」.3个「 ...

  4. AI开发者大会:2020年7月3日09:50--10:10唐杰《人工智能的下一个十年》

    AI开发者大会:2020年7月3日09:50--10:10唐杰<人工智能的下一个十年> 导读:人工智能的第三次浪潮中,超越深度学习-ML和DL需要结合符号AI:自监督学习将会大放异彩. N ...

  5. 安卓10和android区别,华为8月9日发布安卓10.0系统 华为EMUI 10.0功能及适配机型 华为安卓系统和鸿蒙OS区别...

    华为8月9日发布安卓10.0系统 华为EMUI 10.0功能及适配机型 华为安卓系统和鸿蒙OS区别 根据最新消息显示,华为终端官方再次给出消息称,在8月9日华为开发者大会首天,他们将发布新一代基于An ...

  6. AI:2020年6月22日北京智源大会演讲分享之11:30-12:20Jorge教授《Zero-Order Optimization Methods with Applications to RL》

    AI:2020年6月22日北京智源大会演讲分享之11:30-12:20Jorge教授<Zero-Order Optimization Methods with Applications to R ...

  7. 11月22日北京.net俱乐部活动ppt下载以及11月19日微软西格玛IE8开发讲座ppt下载

    11月22日北京.net俱乐部活动ppt下载以及11月19日微软西格玛IE8开发讲座ppt下载 请点击下面的连接下载 [url]http://cid-b10793e754ad25f7.skydrive ...

  8. 清华大学教评中心 <jpxzx2019@mail.tsinghua.edu.cn> 12月24日9:00-11:10试讲评审材料(庞观和朱峰老师)

    ➤01 邮件通知 卓老师好!感谢您担任线上试讲评审专家! 1.评审时间: 2020年12月24日(周四)9:00-11:10 2.试讲教师及内容: 12月24日 上 午 上午 试讲时间 9:00-10 ...

  9. 10月25日lol服务器维护,《LOL》lol10月25日停机维护到什么时候 10.25维护结束时间...

    导 读 英雄联盟8.21版本将在今天更新后全面上线!这次版本新增了万圣节皮肤,以下是本次更新说明,一起来了解一下吧. [英雄联盟版本更新说明] [更新版本]8.21 [更新时间]2018年10月25日 ...

  10. 3月20日, Java 10 正式发布了!

    3 月 20 日,Oracle 宣布 Java 10 正式发布.官方已提供下载:http://www.oracle.com/technetwork/java/javase/downloads/inde ...

最新文章

  1. 我的Android笔记--我对安卓系统的一些了解
  2. 10年前,三星差点收购了安卓
  3. k8s pod里访问不到外部ip_K8S中的Service的存在理由
  4. jquery中siblings方法配合什么方法一起使用
  5. 吴恩达入驻知乎,涨粉秒过万!知乎首答:如何系统学习机器学习
  6. 计算机科学与技术 军校,清华大学计算机科学与技术系
  7. 数据结构与算法——二叉树与图汇总整理
  8. cmake的一些小经验
  9. 转:单片机C语言中的data,idata,xdata,pdata,code
  10. 关于Chrome浏览器(Chrome Stable、 Chrome Canary 、Chromium)
  11. javaweb网上鞋店
  12. docker安装mysql后如何修改默认端口
  13. SolidWorks导入3DSource零件库的模型方法介绍
  14. python词云词频分析_Python数据挖掘:WordCloud词云配置过程及词频分析
  15. 多示例论文泛读:Revisiting Multiple Instance Neural Networks (2016 mi-Net MI-Net)
  16. RabbitMQ-核心概念及AMQP协议
  17. AI 玩王者荣耀狂上分!1 天训练强度达人类 440 年,网友:已卸载
  18. VOIP信号传输过程
  19. 二、浙江专升本高等数学考点-极限
  20. java上溯造型与下溯造型

热门文章

  1. 月均数据_药品销售数据分析案例
  2. select函数fdwrite用法_NumPy 分段函数
  3. python相机拍照显示_从solvePnP获取摄影机姿势
  4. 24c04硬件地址位_硬件刷题篇(一)
  5. linux 查找只读文件夹,Linux系统中查找命令find的使用方法(二)
  6. mysql调优explain_MySql性能调优利器之Explain
  7. 12_python基础—函数基础(参数、返回值、调用)
  8. pytest命令行传参
  9. html动态图标代码,SVG动态图标是如何实现的
  10. java类型过滤文本_JAVA实现过滤掉文本中的表情