nginx 静态资源WEB服务

Posted wenyule

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 静态资源WEB服务相关的知识,希望对你有一定的参考价值。


技术图片

1、静态资源类型

非服务器动态运行生成的文件

类型种类

浏览器端渲染     html、CSS、JS

图片            JPEG、GIF、PNG

视频            FLV、MPEG

文件            TXT、等任意下载文件


2、静态资源服务场景-CDN

技术图片


配置语法

1、文件读取
Syntax:sendfile on l off;
Default:sendfile off;
Context:http,server,location,if in location
引读:一with-file-aid异步文件读取

2、tcp_nopush
Syntax:    tcp_nopush on | off;
Default:   tcp_nopush off;
Context:   http,server,location
作用:sendfile开启的情况下,提高网络包的传输效率

3、tcp_nodelay
Syntax:    tcp_nodelay on|off;
Default:   tcp_nodelay on;
Context:   http,server,location
作用:keepalive连接下,提高网络包的传输实时性


3、配置语法-压缩

技术图片

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

Syntax: gzip_http_version 1.0|1.1;
Default: gzip_http_version 1.1;
Context: http, server, location

扩展nginx压缩模块
http_gzip_static_module    -预读gzip功能
http_gunzip_module         -应用支持gunzip的压缩方式


测试


server_static.conf

server 
    listen       80;
    server_name  10.0.0.6 www.web01.com;

    sendfile on;
    access_log  /var/log/nginx/log/static_access.log  main;


    location ~ .*\\.(jpg|gif|png)$ 
        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/images;
    

    location ~ .*\\.(txt|xml)$ 
        gzip on;
        gzip_http_version 1.1;
        gzip_comp_level 1;
        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 ~ .*\\.(htm|html)$ 
        add_header Access-Control-Allow-Origin *;            #访问限制
        add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;  #允许访问的方法
        #expires 24h;
        root  /opt/app/code;
    

    location ~ ^/download 
        gzip_static on;
        tcp_nopush on;
        root /opt/app/code;
    




压缩前

F12调试时,注意关闭缓存

技术图片

压缩后

技术图片

对文本的压缩更大

技术图片

[[email protected] doc]# ls -lh

total 176K

-rw-r--r--. 1 root root 175K Aug 8 2017 access.txt




设置缓存

    location ~ .*\\.(htm|html)$ 
        expires 24h;
        root  /opt/app/code;
    


权限控制

    location ~ .*\\.(jpg|gif|png)$ 
        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;

        valid_referers none blocked 116.62.103.228 jeson.imoocc.com ~wei\\.png;
        if ($invalid_referer) 
            return 403;
        
        root  /opt/app/code/images;
    

以上是关于nginx 静态资源WEB服务的主要内容,如果未能解决你的问题,请参考以下文章

nginx静态资源配置(转发)

nginx系列3:搭建一个静态资源web服务器

nginx实践之静态资源web服务(防盗链)

Nginx系列之静态服务

nginx 静态资源WEB服务

Nginx:静态资源web服务器配置详解