Gzip Compression On Apache And Nginx


Introduction

Compressing content before sending it over the wire not only saves bandwidth, it makes web applications faster. The combined time it takes for a web server to compress data and a browser to decompress it, is less than sending just uncompressed data through the wire. This writeup shows you how to configure both Apache and Nginx with gzip compression.

Apache

Add below snippet to your apache2.conf or .htaccess file.

<IfModule mod_deflate.c>    # compress html, css, javascript, text, xml and fonts    AddOutputFilterByType DEFLATE application/javascript    AddOutputFilterByType DEFLATE application/rss+xml    AddOutputFilterByType DEFLATE application/x-font    AddOutputFilterByType DEFLATE application/x-font-opentype    AddOutputFilterByType DEFLATE application/x-font-otf    AddOutputFilterByType DEFLATE application/x-font-truetype    AddOutputFilterByType DEFLATE application/x-font-ttf    AddOutputFilterByType DEFLATE application/x-javascript    AddOutputFilterByType DEFLATE application/xhtml+xml    AddOutputFilterByType DEFLATE application/xml    AddOutputFilterByType DEFLATE font/opentype    AddOutputFilterByType DEFLATE font/otf    AddOutputFilterByType DEFLATE font/ttf    AddOutputFilterByType DEFLATE image/svg+xml    AddOutputFilterByType DEFLATE image/x-icon    AddOutputFilterByType DEFLATE text/css    AddOutputFilterByType DEFLATE text/html    AddOutputFilterByType DEFLATE text/javascript    AddOutputFilterByType DEFLATE text/plain    AddOutputFilterByType DEFLATE text/xml    # you can also compress by file type/extension:    <files *.html>        SetOutputFilter DEFLATE    </files></IfModule>

Nginx

Gzip should already be enabled on Nginx by default. If not, open its configuration file (sudo nano /etc/nginx/nginx.conf) and make sure that the settings under the gzip section are uncommented (like in snippet below).

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

Written by Lami Adabonyan

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article

No comments

Powered by Blogger.