2016-09-29 13 views
1

私は自分のnginxサーバーでgzip圧縮を有効にします。 nginx.confファイルはここにある:Nginxはgzipを有効にします

http { 
    # Enable Gzip 
    server { 

    location ~* \.(?:ico|woff|css|js|gif|jpe?g|png)$ { 
     expires 30d; 
     add_header Pragma public; 
     add_header Cache-Control "public"; 
    } 

    location /api { 
     try_files $uri $uri/ /api/index.php; 
    } 

    location/{ ##merge 
     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; 

     try_files $uri $uri/ /index.php?q=$uri&$args; 
    } 

    location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; } 
    location ~ "^/ngx_pagespeed_static/" { } 
    location ~ "^/ngx_pagespeed_beacon" { } 

    } 
} 

は、残念ながら、gzip圧縮が機能していない、GoogleのページスピードとGtmetrixはこれを検出できません。

gzip confはどこに置くことができますか?

http{}server{}またはlocation{}タグでは?

私はすでにhttpで試してみました、あまりにも

答えて

8

locationタグにあなたはどこにでもgzipで設定を置くことができますが、すべてのウェブサイト/ファイルにそれを適用したい場合には、HTTPセクションにそれを置くのがベストです - これはすべてのサーバーブロックとロケーションブロックのデフォルトになります。私はまた、次のようにあなたの設定を変更する/「短縮」になります。

http { 
    gzip on; 
    gzip_min_length 500; 
    gzip_proxied  any; 
    gzip_comp_level 4; 
    gzip_types 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_vary on; 
    gzip_disable  "msie6"; 

    ... here come your server blocks/rest of your config 
} 

私はその構成を使用し、それは私のために正常に動作します - あなたはまた、それをテストする前に(Firebugを持つたとえば)最初にお使いのブラウザでそれをテストすることができます外部サービスと

gzip_staticを使用すると、Nginx用のgzippedファイル(filename + .gz)が実際に生成された場合にのみ意味があります。これはgzipを有効にするためのものではありません。

+0

ありがとうございました! – wpdaniel

関連する問題