老师,我的 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
而直接在 Chrome 中访问的时候,又不行了:
求老师解答。
1回答
-
站长工具显示压缩了可能和chrome浏览器显现有关系,有同学之前和我反应过这个问题,他们用的firefox来看。
判断元素有没有通过Nginx的gzip压缩,可以通过浏览器中查看http的response头信息的Content-Encoding,如果有gzip,说明元素是经过gzip压缩的。
022017-12-08
相似问题