当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪Nginx Location 配置总结      Location语法语法:location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可 ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~和!~*分别为区.........
    ▪nginx 日志分析实例          系统运行中,需要了解用户访问哪个页面比较多,耗时比较长。     运行比较慢的往往是动态文件,本次我们集中在action页面,考虑到action 的url后面有不同的id值(前面都是一样的).........
    ▪nginx 预压缩(gzip)静态文件          对于静态文件先压缩再输出是再正常不过的事了,但是这种压缩都是动态的,在每次请求都会先压缩再输出,大大浪费了很多 cpu。如果前端加了反向代理缓存,那能减少这种浪费。但不.........

[1]Nginx Location 配置总结
    来源: 互联网  发布时间: 2013-12-24

Location语法语法:location [=|~|~*|^~] /uri/ { … }

= 开头表示精确匹配
^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可
~ 为区分大小写匹配
~* 为不区分大小写匹配
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
/ 通用匹配,任何请求都会匹配到。
多个location配置的情况下匹配顺序为
首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。
处理静态文件请求,这是nginx作为http服务器的强项。

# 有两种配置模式,目录匹配或后缀匹配,任选其一或搭配使用
 

代码如下:
location ^~ /static/ {
root /webroot/static/;
}
location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
root /webroot/res/;
}
 

ReWrite语法
last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301


    
[2]nginx 日志分析实例
    来源: 互联网  发布时间: 2013-12-24

    系统运行中,需要了解用户访问哪个页面比较多,耗时比较长。
    运行比较慢的往往是动态文件,本次我们集中在action页面,考虑到action 的url后面有不同的id值(前面都是一样的),我们需要做个url截断。
 
    下面是分析代码的shell文件,前10位访问最多的。
 

代码如下:
#!/bin/sh
>action.tmp
cat access.log|awk '{print $7}'|grep action| while read Line
       do
                svn_path=${Line%%\?*}
                 echo $svn_path>>action.tmp
        done
cat action.tmp|sort|uniq -c|sort -nr|head -n 10

line=${line%%\?*} 截断line字符串,去掉?号后面的字符串(包括?),并把结果赋值给变量line。
 
另外响应时间也是要关注的。需要在nginx里做配置,增加request_time项:
 

代码如下:
http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '"$status" $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" $request_time';

统计一分钟产生的流量:
 

代码如下:
grep showTbMatchData.do huabao.taotaosou.net.log |grep "2012:17:01"|awk '{ print $10 }'|sort -n|awk '{sum+=$1}END{print sum}'

得出的结果*8/60 就是平均每秒的实际占用带宽。

您可能感兴趣的文章:
nginx 日志分析的实例学习
nginx 日志模块分析详解
Nginx关闭日志的方法
Nginx日志分析 Nginx日志切割与Awstats配置
nginx日志配置、Nginx日志分割
有关nginx日志格式的设计分享
nginx日志统计访问时间的例子
Nginx日志配置文件的格式说明
nginx日志报大量400错误的解决方法
nginx关闭favicon.ico日志记录的方法
nginx与apache日志格式的区别
nginx日志中记录cookie的实现方法
修改nginx访问日志的时间格式的方法
Nginx日志中过滤关键字的写法


    
[3]nginx 预压缩(gzip)静态文件
    来源: 互联网  发布时间: 2013-12-24

    对于静态文件先压缩再输出是再正常不过的事了,但是这种压缩都是动态的,在每次请求都会先压缩再输出,大大浪费了很多 cpu。如果前端加了反向代理缓存,那能减少这种浪费。但不是每个生产环境前端都有缓存的。而nginx有个模块Gzip Precompression,这个模块的作用是对于需要压缩的文件,直接读取已经压缩好的文件(文件名为加.gz),而不是动态压缩,对于不支持 gzip的请求则读取原文件。

    编译nginx的时候需要把--with-http_gzip_static_module参数加上。

#启动预压缩功能,对所有类型的文件都有效  
 

代码如下:
gzip_static on;  

#找不到预压缩文件,进行动态压缩  
 

代码如下:
gzip on;   
gzip_min_length 1000;  
gzip_buffers 4 16k;  
gzip_comp_level 5;  
gzip_types text/plain application/x-javascript text/css application/xml;  

#gzip公共配置  
 

代码如下:
gzip_http_version 1.1 
gzip_proxied expired no-cache no-store private auth;  
 

#纠结的配置  
#对于ie有个bug,响应vary头后将不会缓存请求,每次都会重新发新的请求。所以,对于ie 1-6直接禁用gzip。  
gzip_disable "MSIE [1-6]\.";  
#开启Http Vary头,vary头主要提供给代理服务器使用,根据Vary头做不同的处理。例如,对于支持gzip的请求反向代理缓存服务器将返回gzip内容,不支持gzip的客户端返回原始内容。  
gzip_vary on; 

gzip_static配置优先级高于gzip
开启nginx_static后,对于任何文件都会先查找是否有对应的gz文件
gzip_types设置对gzip_static无效


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪awk中RS、ORS、FS、OFS的区别和联系小结 iis7站长之家
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3