Habilitar GZIP para archivos CSS y JS en NGINX server para Magento


Necesito habilitar la compresión gzip en el servidor nginx. Como he observado desde firfox firebug NET tools, he encontrado que el archivo html está comprimido gzip. Pero no los archivos javascript y CSS.

Ya he comprobado Mime.tipos y archivo de configuración de nginx /etc/nginx/ngnix.conf y no se encontró ningún problema. todavía no es capaz de ver la compresión Gzip css y javascript. Mi NGINX.las entradas conf son las siguientes

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;
Author: Elnur Abdurrakhimov, 2012-09-28

5 answers

Esta es una configuración de trabajo que actualmente uso en producción.

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/x-javascript
    application/json
    application/xml
    application/rss+xml
    image/svg+xml;

Esta configuración se probó a través de tools.pingdom.com.

 100
Author: Vern Burton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-09 18:41:11

Puede encontrar un ejemplo de configuración en el código html5 boilerplate.


  # 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;

 23
Author: Koray Güclü,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-04 19:57:01

Si algunos de sus archivos están comprimidos y otros no, entonces su gzip está funcionando, pero es posible que haya perdido la definición en gzip_types. Por ejemplo, los archivos javascript pueden devolver en encabezados cualquiera de los siguientes tipos:

  • aplicación/javascript
  • aplicación / x-javascript
  • texto / javascript

Para comprimir todos los archivos javascript, las tres definiciones deben incluirse en gzip_types.

Debe verificar los encabezados de respuesta qué tipo de contenido se devuelve para un archivo sin comprimir y luego asegúrese de que también esté definido en gzip_types.

 6
Author: lubosdz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-08 20:48:41

Son sus entradas gzip dentro del "ámbito" de configuración de nginx que js,css, etc. ¿los bienes están siendo servidos? Pregunto porque si estás usando algún tipo de framework, a veces hay diferentes localizaciones {...} bloques que manejan solicitudes html vs activos.

También cuando esté probando en un navegador, asegúrese de hacer una actualización dura para forzar al servidor a darle una "copia fresca" de lo que esté mirando.

Finalmente, puede usar gzip_types * para permitir que cualquier cosa sea comprimida con gzip. Tal vez alguien más pueda intervenir si esta es una buena práctica o no.

 1
Author: Mike T,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-04 15:32:30

Para comprimir SVG, esta línea es correcta:

image/svg+xml svg svgz;
 1
Author: karadayi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-23 09:50:11