Operations 6 min read

Enabling Gzip Compression in Nginx: Configuration Guide and Best Practices

This article explains how to enable and fine‑tune Nginx’s Gzip compression, detailing the benefits for CSS, JS, XML and HTML delivery, providing configuration directives, recommended parameter values, and example snippets for both local and production environments.

Practical DevOps Architecture
Practical DevOps Architecture
Practical DevOps Architecture
Enabling Gzip Compression in Nginx: Configuration Guide and Best Practices

Nginx’s Gzip compression can reduce the size of CSS, JavaScript, XML and HTML files during transmission, improving load speed and saving bandwidth, while having a modest CPU cost.

Gzip works by compressing the response before it is sent to the client; it can be configured in the http, server or location blocks. gzip on; – enables the gzip module (use off to disable). gzip_min_length 1k; – only compress responses larger than the specified size (default 1 KB). gzip_buffers 4 16k; – allocates four 16 KB buffers for compression. gzip_http_version 1.1; – requires HTTP/1.1 for gzip support. gzip_comp_level 2; – sets compression level (1‑9, higher means better compression but more CPU).

gzip_types text/plain application/x-javascript text/css application/xml;

– MIME types that will be compressed. gzip_vary on; – adds the Vary: Accept-Encoding header. gzip_proxied off; – disables gzip for proxied requests. gzip_disable msie6; – disables gzip for Internet Explorer 6 and older.

To apply these settings, edit /usr/local/nginx/conf/nginx.conf (or the appropriate configuration file) and place the directives inside the http { … } section, for example:

gzip on;
gzip_min_length 10k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/css text/xml application/javascript;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;

A typical production configuration might look like:

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php application/javascript application/json;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

performanceNginxGzipServer Configurationcompression
Practical DevOps Architecture
Written by

Practical DevOps Architecture

Hands‑on DevOps operations using Docker, K8s, Jenkins, and Ansible—empowering ops professionals to grow together through sharing, discussion, knowledge consolidation, and continuous improvement.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.