老师,我的 gzip 没有生效是为啥呢?

来源:3-5 Nginx作为静态资源web服务_场景演示

DAILYBIRD

2017-11-05

http://47.92.26.214/4.txt   这个文件没有被成功的压缩大小... 

我的 nginx 配置为( default.conf ):

server {

    listen       80;

    server_name  localhost;


    sendfile on;


    #charset koi8-r;

    access_log  /var/log/nginx/host.access.log  main;


    location / {

        root   /opt/app/code;

        index  index.html index.htm;

    }

    #error_page  404              /404.html;


    # redirect server error pages to the static page /50x.html

    #

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

        root   /usr/share/nginx/html;

    }


    location /mystatus {

        stub_status;

        auth_basic "Auth Access";

        auth_basic_user_file /etc/nginx/auth_conf;

        #deny all;

        #allow all;

    }


    location ~ .*\.(jpg|gif|png|js|txt)$ {

        root /opt/app/code/images;


        gzip on;

        gzip_comp_level 2;

        gzip_http_version 1.1;

        gzip_types

        text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml

        text/javascript application/javascript application/x-javascript

        text/x-json application/json application/x-web-app-manifest+json

        text/css text/plain text/x-component

        font/opentype application/x-font-ttf application/vnd.ms-fontobject

        image/x-icon;

    }


    # proxy the PHP scripts to Apache listening on 127.0.0.1:80

    #

    #location ~ \.php$ {

    #    proxy_pass   http://127.0.0.1;

    #}


    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

    #

    #location ~ \.php$ {

    #    root           html;

    #    fastcgi_pass   127.0.0.1:9000;

    #    fastcgi_index  index.php;

    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

    #    include        fastcgi_params;

    #}


    # deny access to .htaccess files, if Apache's document root

    # concurs with nginx's one

    #

    #location ~ /\.ht {

    #    deny  all;

    #}

}

这里有一个类似的问题 https://segmentfault.com/q/1010000011864364,当使用 html 引用 js 文件的时候,js 的压缩生效了,但直接访问这个 js 文件就不能被正常压缩。

补充:

使用站长工具测试的时候,显示是可以被正常压缩的:

http://tool.chinaz.com/Gzips/?q=47.92.26.214%2F4.txt

http://img.mukewang.com/szimg/59ff16430001734724180722.jpg


而直接在 Chrome 中访问的时候,又不行了:

http://img.mukewang.com/szimg/59ff165a00013c7f26380186.jpg


求老师解答。

写回答

1回答

Jeson

2017-11-06

站长工具显示压缩了可能和chrome浏览器显现有关系,有同学之前和我反应过这个问题,他们用的firefox来看。

判断元素有没有通过Nginx的gzip压缩,可以通过浏览器中查看http的response头信息的Content-Encoding,如果有gzip,说明元素是经过gzip压缩的。

0
2
qq_天下无敌_3
老师问一下,我的是request 的header 有Accept-Encoding:gzip, deflate 这里有gip。但是页面怎么刷新 大小都是不变。也是站长工具测试了 显示压缩比。但是页面访问不变是为啥?响应时间也不变
2017-12-08
共2条回复

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程