当前位置: 移动技术网 > IT编程>开发语言>Java > Nginx静态资源web服务

Nginx静态资源web服务

2020年07月28日  | 移动技术网IT编程  | 我要评论

配置语法:

  1. 文件读取

    Syntax: sendfile on|off;
    Default: sendfile off;
    Context: http,server,location,if in location
    
  2. tcp_nopush(不是着急的发送给客户端)

    作用:sendfile开启的情况下,提高网络包的传输效率。

    解释:比如一个发快递的场景,如果有10个包裹,发10次,就要叫10次快递员来发送。那么可以把10个包裹整理到一起,一次性发送出去。

    Syntax: tcp_nopush on|off;
    Default: tcp_nopush off;
    Context: http,server,location
    
  3. tcp_nodelay(与上一个对应,着急发送)

    作用:keepalive(长连接)连接下,提高网络包的传输实时性。

    解释:数据包尽量不要等待,实时的发送出去。

    Syntax: tcp_nodelay on|off;
    Default: tcp_nodelay off;
    Context: http,server,location
    
  4. 压缩

    作用:压缩传输

    Syntax: gzip on|off;
    Default: gzip off;
    Context: http,server,location,if in location
    

    压缩比配置

    Syntax: gzip_comp_level level;
    # 越大,压缩越小。(会耗费服务器资源)
    Default: gzip_comp_level 1;
    Context: http,server,location
    

    gzip版本配置

    Syntax: gzip_http_version 1.0|1.1;
    Default: gzip_http_version 1.1;
    Context: http,server,location
    
  5. 扩展

    1. http_gzip_static_module — 预读gzip功能(会先查找有无同名的gz文件存在)
    2. http_gunzip_module — 应用支持gunzip的压缩方式(有的浏览器不支持gz)

示例:

location ~ .*\.(txt|xml)$ {
    gzip on;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types text/plain 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/doc;
}

location ~ ^/download {
    gzip_static on;			#预读gzip功能,先gzip压缩
    tcp_nopush on;
    root /opt/app/code;
}
  1. 静态资源浏览器缓存配置语法 — expires

原理:添加http的Cache-Control、Expires头

Syntax: expires [modified] time;
		expires epoch | max| off;
Default: expires off;
Context: http,server,location,if in location
  1. nginx开启跨站访问(也就是解决跨域问题)

    原理:浏览器默认是不允许一个网站跨站访问另一个网站的,浏览器会判断 头信息:Access-Control-Allow-Origin

    Syntax: add_header name value [always];  	#name=Access-Control-Allow-Origin
    Default:
    Context: http,server,location,if in location
    
    
    #示例
    add_header Access-Control-Allow-Origin https://www.abc.com	#只允许abc这个跨站访问
    add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS
    
  2. 简单防盗链(防止资源被盗用)

    http_referer:上一次页面的url地址,第一次打开是没有referer信息的。

    Syntax: valid_referers none | blocked | server_names | string...;
    Default:
    Context: server,location
    
    #示例
    #没有referers信息、没有协议信息的请求、ip。(也可使用正则匹配)
    valid_referers none blocked 192.168.122.111;
    if ($invalid_referer) {
        retrun 403;
    }
    

本文地址:https://blog.csdn.net/Pasiyu/article/details/107598808

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网