nginx常规扩展功能

功能 语法 配置位置 配置举例 结果验证 备注
文件读取 sendfile on|off ===>(提高读取静态文件效率。直接通过系统内核将文件放入socket,不必再打开一遍) http、server、location、if in location这一级来配置 location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        sendfile on
}
   
数据传输

1、tcp_nopush on|off ===>(senffile开启的情况下,提高数据包的传输效率。即:攒够一定量的包再一起发送,而不是来一个包发一个包)

2、tcp_nodelay on|off ===>(长连接下(keepalive),提高数据包传输实时性。即:来一个包发一个包。适用于对网络实时性要求比较高的场景)

1、http、server、location这一级来配置
2、http、server、location这一级来配置
location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        tcp_nopush on
        tcp_nodelay on
}
   
数据压缩 1、gzip on|off
2、gzip_http_version 1.1|1.0
3、gzip_comp_level 级别
4、gzip_types image/png
1、http、server、location、if in location这一级来配置
2、http、server、location这一级来配置
location ~ .*\.(jpg|gif|png)$ {
        gzip off;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
        root /opt/app/code/images;
    }
  1、2、3、4步组合成一个功能
缓存时间设置 expires [modified] time;
expires epoch|max|off;
server、location、if in location这一级来配置      
防盗链(本质是依据refere来限制) valid_referers none|blocked|string...
valid_referers为关键字,后跟允许从哪些地址过来访问(即允许的refer)
none代表允许没有带refer信息的过来访问
blocked代表允许不带协议信息的refer过来访问(即cctv.com,前面没有http://信息)
string代表支持哪些refer来访问(例:refer=http://qq.com, string指的是qq.com这部分)(string支持正则表达式)
server、location这一级来配置 location /download {
        gzip_static off;
        tcp_nopush off;
        alias /opt/app/code;
        valid_referers none blocked;
        if ($invalid_referer){
                return 403;
        }
    }
curl -e "http://172.20.163.127" -I http://172.20.163.99/download/2.txt(成功)
curl -e "http://www.qq.com" -I http://172.20.163.99/download/2.txt(失败)
$invalid_referer:如果valid_referers后面没有值则$invalid_referer为真

猜你喜欢

转载自www.cnblogs.com/baihualin/p/10896785.html