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

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

[[email protected] ~]# 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里定义日志格式外,还需要在虚拟主机配置文件中增加

[[email protected] ~]# 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目录下)
创建[[email protected] ~]# vim /usr/local/sbin/nginx_log_rotate.sh
样例:
#! /bin/bash
/data/logs/ (假设nginx的日志存放路径)
d=date -d "-1 day" +%Y%m%d (为了生成日期,年月日)
([[email protected] ~]# 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 (到日志路径下)
做循环
举例:
([[email protected] 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查看脚本执行的过程
[[email protected] 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)

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

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

课程名称:12.12?静态文件不记录日志和过期时间
笔记内容:
[[email protected] ~]# 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的效果(过期时间)

原文地址:http://blog.51cto.com/13613708/2126217

时间: 2024-10-23 13:01:58

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

四周第一次课(1月2日) 4.10/lvm讲解 4.11/lvm讲解 4.12/lvm讲解 4.13 磁盘故障小案例

四周第一次课(1月2日)4.10/lvm讲解4.11/lvm讲解4.12/lvm讲解4.13 磁盘故障小案例 onnecting to 192.168.183.128:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]'. Last login: Tue Jan 2 19:34:17 2018[[email protected] ~]# ip add1: lo: <LOOPBACK,UP,LOWER_UP

抱团App iOS版1.6已于5月19日0点10分发布

抱团App iOS版1.6已于5月19日0点10分发布, App Store 下载地址:https://itunes.apple.com/cn/app/bao-tuan-tuan-gou-jing-pin/id789571099?ls=1&mt=8 欢迎各种吐槽,技术交流,等等. 抱团App iOS版1.6已于5月19日0点10分发布,布布扣,bubuko.com

Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求

最近调用一个接口,发现httppost请求目标网站会出现405 状态码,原因为 Apache.IIS.Nginx等绝大多数web服务器,都不允许静态文件响应POST请求 所以将post请求改为get请求即可 package com.changyou.test; import java.io.IOException; import java.io.UnsupportedEncodingException; //import org.apache.commons.httpclient.HttpCli

nginx访问日志配置+日志切割+不记录静态文件日志+设置静态文件过期时间

nginx访问日志 查看nginx.conf文件 vim /usr/local/nginx/conf/nginx.conf 中间有一行是定义log的格式 log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' ' $host "$request_uri" $status' ' "$http_referer" "$http_user_agent"';

3月8日竞彩10刻:焦点战主队防平

http://www.acfun.tv/a/aa4304304 http://www.acfun.tv/a/aa4304443 http://www.acfun.tv/a/aa4304594 http://www.acfun.tv/a/aa4304743 http://www.acfun.tv/a/aa4304878 http://www.acfun.tv/a/aa4305035 http://www.acfun.tv/a/aa4305230 http://www.acfun.tv/a/aa43

2019年1月28日 18:48:10 ----怀疑DDOS或者缓存无垃圾回收功能【附带各知识来源】

今日网吧上网,打开邮件,QQ音乐速度明显比前面慢得非常多,体现出非正常反应.(HTTP,HTTPS) 观察其他机器,发现游戏正常.(TCP,UDP) 我将情况告诉网管,网管联系后台人员,后台人员进行了清理垃圾等操作以后,网速恢复正常反应 缓存垃圾回收,可以重启汇聚层的路由器交换机等.如果重启无效,那么DDOS网吧生意之争将有很大的几率发生.还有一种很大的可能,就是客户开外挂导致的网络攻击(甚至感染整个网吧的域,你的帐号信息被盗也会这样子发生). 如何发现程序及进程等底层的问题?(学术叫计算机取证

21.9 redis介绍;21.10 redis安装;21.11 redis持久化;21.12

21.9 redis介绍 1. Redis和Memcached类似,也属于k-v数据存储 2. Redis官网redis.io, 当前最新稳定版4.0.1 3. 支持更多value类型,除了和string外,还支持hash.lists(链表).sets(集合)和sorted sets(有序集合) 4. redis使用了两种文件格式:全量数据(RDB)和增量请求(aof).全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载.增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进

5 月 35 日临近,Google 无法访问,可以使用 Google IP 来解决。

每年都会有几天那啥,你懂的. 直接使用 Google 的域名访问经常会打不开,而使用 Google 的 IP 就会很顺畅. 使用 Chrome 浏览器我们经常都会在地址栏直接搜索,所以我们只要添加一个新的搜索引擎并设为默认就可以了. 地址栏右键 -> 修改搜索引擎 -> 最下面添加搜索引擎 -> 填写内容如图所示 主要的内容是第三栏,内容为: http://203.208.46.200/search?q=%s&{google:RLZ}{google:originalQueryFo

26期2018年6月5日任务 path cp mv cat

6月5日任务 2.10 环境变量PATH 2.11 cp命令 2.12 mv命令 2.13 文档查看cat/more/less/head/tail 环境变量PATH 根windows一样,把绝对路径加到了环境变量中,只要命令是在环境变量中就不需要打全部的绝对路径. 所以如果有新的命令想加到环境变量中就可以修改path这个变量的值. 这个就涉及到shell,对之后的运维大有好处. 如果想每次都生效,需要把环境变量改成永久的,使用vim去改文件. 有个文件是可以设置开机就执行的,可以改它. /etc

10月27日全球域名商解析新增量TOP20:爱名网第三

IDC评述网(idcps.com)10月30日报道:根据DailyChanges公布的最新数据显示,在2015年10月27日,全球域名解析新增量二十强排名顺序,环比上期10月20日,有所变动.其中,爱名网以新增量12,053个升至第3,排名环比上升4位.另外,DOMAINCONTROL.COM蝉联冠军,新增量高达30,954个.下面,请看IDC评述网整理的具体数据分析. (图1)全球域名解析商(国际域名)解析新增量Top20分布图 如图1所示,10月27日全球域名解析新增量前五位分别是DOMAI