gzip compression of static files in NGINX

As a DevOps or Ops Engineer, you are likely familiar with the importance of optimizing website performance. One way to improve website speed is by compressing responses using gzip in Nginx.

Gzip is a file compression format that reduces the size of files, including HTML, CSS, and JavaScript files, by compressing them into a smaller format. This compression reduces the amount of data that needs to be transferred between the server and the client, resulting in faster load times.

Nginx, a popular web server and reverse proxy server, supports gzip compression out of the box. Enabling gzip compression in Nginx is a simple process that can significantly improve website performance.

Configuration

To enable gzip compression in Nginx, you need to modify the Nginx configuration file. The configuration file is typically located in the /etc/nginx/ directory. Open the configuration file in a text editor and locate the http block. Within the http block, add the following lines of code:

gzip on;
gzip_comp_level 3;
gzip_types text/plain;
gzip_types text/css;
gzip_types application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

The first line, gzip on, enables gzip compression in Nginx. In the second line, the gzip_comp_level is set to 3.

The compression level can range from 1 to 9, with 1 being the fastest and least compressed, and 9 being the slowest and most compressed. A compression level of 3 to 4 is a good balance between compression efficiency and server performance.

The third line specifies the file types that should be compressed. In this example, text/plain, text/css, application/json, application/javascript, text/xml, application/xml, application/xml+rss, and text/javascript files will be compressed.

Save the configuration file and restart Nginx to apply the changes. You can do this by running the following command:

sudo service nginx restart

Once gzip compression is enabled in Nginx, you can test it by using a tool like Google PageSpeed Insights or GTmetrix. These tools will analyze your website and provide recommendations for improving website performance, including gzip compression.

In addition to improving website performance, gzip compression can also reduce bandwidth usage and lower hosting costs. By compressing files, less data is transferred between the server and the client, resulting in lower bandwidth usage and potentially lower hosting costs.

Conclusion

Enabling gzip compression in Nginx is a simple and effective way to improve website performance. By compressing files, less data is transferred between the server and the client, resulting in faster load times, lower bandwidth usage, and potentially lower hosting costs. As a DevOps / Ops Engineer, optimizing website performance should be a top priority, and gzip compression is a valuable tool in your optimization toolkit.

0
Subscribe to my newsletter

Read articles from Melvin C Varghese (melvincv) directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Melvin C Varghese (melvincv)
Melvin C Varghese (melvincv)

I am a DevOps Consultant. 3 years experience with Cloud technologies. 9 years total IT experience in the Linux, Networking and Data Visualization domains. Love listening to music and playing older PC games.