web-dev-qa-db-ja.com

MagentoのNGINXサーバーでCSSおよびJSファイルの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;
38
Anant

これは現在運用環境で使用している作業用の構成です。

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でテストされました。

120
Vern Burton

html5ボイラープレート コードから設定例を見つけることができます。

 
#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は、常に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 no-cache no-store private auth; 
 gzip_disable "MSIE [1-6] \。"; 
 gzip_vary on; 
 
29
Koray Güclü

一部のファイルが圧縮されており、一部が圧縮されていない場合、gzipは機能していますが、gzip_typesの定義が欠落している可能性があります。たとえば、javascriptファイルは次のいずれかのタイプのヘッダーを返す場合があります。

  • application/javascript
  • application/x-javascript
  • text/javascript

すべてのjavascriptファイルを圧縮するには、3つの定義すべてをgzip_typesに含める必要があります。

response headersこのような非圧縮ファイルに対して返されるcontent-typeをチェックインし、gzip_typesでも定義されていることを確認する必要があります。

6
lubosdz

あなたのgzipエントリは、js、cssなどのnginx設定「スコープ」内にありますか。資産が提供されていますか?何らかのフレームワークを使用している場合は、htmlリクエストとアセットを処理する異なる場所{...}ブロックが存在することがあるためです。

また、ブラウザでテストしているときは、ハードリフレッシュを実行して、見ているものの「新しいコピー」をサーバーに強制的に提供するようにしてください。

最後に、gzip_types *を使用して、何でもgzip圧縮できるようにします。おそらく、これが良い習慣であるかどうかに関係なく、誰か他の人がチャイムを鳴らすことができます。

1
Mike T

SVGを圧縮するには、次の行が正しいです。

image/svg+xml svg svgz;
1
karadayi