Nginx静态资源web服务

配置语法:

  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;
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值