在NGINX服务器上为Magento启用GZIP for CSS和JS文件

时间:2012-09-28 12:26:09

标签: magento nginx gzip

我需要在nginx服务器上启用gzip压缩。正如我从firfox firebug NET工具中观察到的,我发现html文件是gzip压缩的。但不是javascript文件和CSS文件。

我已经检查了 Mime.types 和nginx配置文件 /etc/nginx/ngnix.conf ,但未发现任何问题。 仍然无法看到css和javascript Gzip压缩。 我的NGINX.conf条目如下

gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

5 个答案:

答案 0 :(得分:114)

这是我目前在制作中使用的工作配置。

http://pastie.org/10870547

gzip on;
gzip_disable "msie6";

gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types
    text/plain
    text/css
    text/js
    text/xml
    text/javascript
    application/javascript
    application/json
    application/xml
    application/rss+xml
    image/svg+xml;

此配置已通过tools.pingdom.com进行测试。

答案 1 :(得分:28)

You can find example configuration from the html5 boilerplate code.


  # Enable Gzip
  gzip  on;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  gzip_min_length 1100;
  gzip_buffers     4 8k;
  gzip_proxied any;
  gzip_types
    # text/html is always compressed by HttpGzipModule
    text/css
    text/javascript
    text/xml
    text/plain
    text/x-component
    application/javascript
    application/json
    application/xml
    application/rss+xml
    font/truetype
    font/opentype
    application/vnd.ms-fontobject
    image/svg+xml;

  gzip_static on;

  gzip_proxied        expired no-cache no-store private auth;
  gzip_disable        "MSIE [1-6]\.";
  gzip_vary           on;

答案 2 :(得分:6)

如果你的某些文件被压缩而某些文件没有被压缩,那么你的gzip工作正常,但你可能错过了 gzip_types 中的定义。例如,javascript文件可以在标题中返回以下任何类型:

  • application / javascript
  • application / x-javascript
  • 文本/ JavaScript的

要压缩所有javascript文件,所有三个定义都应包含在gzip_types中。

您需要检入响应标头为此类未压缩文件返回的内容类型,然后确保它也在gzip_types中定义。

答案 3 :(得分:1)

你的gzip条目是否在js,css等的nginx配置“范围”内。资产正在服务?我问,因为如果你使用某种框架,有时会有不同的位置{...}块来处理html请求与资产。

此外,当您在浏览器中进行测试时,请确保您进行了大量的刷新,以迫使服务器为您提供所有内容的“新副本”。

最后,您可以使用gzip_types *来允许任何内容被gzip压缩。如果这是一个好的做法,也许其他人可以插话。

答案 4 :(得分:1)

要压缩SVG,这一行是正确的:

image/svg+xml svg svgz;