Enabling Brotli Compression on NGINX
Enabling Brotli compression on your NGINX server can improve pagespeed and reduce used bandwidth. In the following, we'll show you how to enable Brotli compression on NGINX.
Step 1: Install the Brotli module for NGINX
The first step is to install the Brotli module for NGINX. There are two ways to do this: compile NGINX from source with the ngx_brotli module, or install it using a package manager. We will have a look at both options now:
Compiling NGINX from source with the ngx_brotli module
To compile NGINX from source with the ngx_brotli module, follow these steps:
- Download the latest version of NGINX and the
ngx_brotlimodule from their respective websites:
wget https://nginx.org/download/nginx-1.20.1.tar.gzwget https://github.com/google/ngx_brotli/archive/refs/tags/v1.0.2.tar.gzReplace nginx-1.20.1 with the version of NGINX you want to install.
- Extract the NGINX and
ngx_brotliarchives:
tar -xzf nginx-1.20.1.tar.gztar -xzf v1.0.2.tar.gz- Change to the NGINX source directory and configure NGINX with the
ngx_brotlimodule:
cd nginx-1.20.1./configure --with-compat --add-dynamic-module=../ngx_brotli-1.0.2- Build and install NGINX:
make modulessudo make installInstalling the Brotli module using a package manager
To install the Brotli module using a package manager, follow these steps:
- Update your package manager's repository information:
sudo apt update- Install NGINX with the Brotli module:
sudo apt install nginx nginx-module-brotliIf you're using a different package manager like yum, replace apt with the appropriate command.
Step 2: Enable Brotli compression in your NGINX configuration
Once you've installed the Brotli module, the next step is to enable Brotli compression in your NGINX configuration. To do this, edit your NGINX configuration file (usually located at /etc/nginx/nginx.conf) and add the following lines to the http block:
# Enable Brotli compressionbrotli on;brotli_comp_level 4;brotli_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;The brotli on; line enables Brotli compression, while brotli_comp_level r; sets the compression level to 4 (which is what we recommend). The brotli_types directive specifies the MIME types that should be compressed using Brotli. You can add or remove MIME types as needed.
Here's an example http block with Brotli compression enabled:
http { # ... other configuration ... # Enable Brotli compression brotli on; brotli_comp_level 4;}Reload NGINX
Eventually, you want to reload NGINX to apply the changes you've made to your configuration file:
sudo nginx -t && sudo nginx -s reloadTest Brotli Compression
Once you've installed the Brotli module and configured Apache to use it, you should test whether Brotli compression is working correctly. You can use our Brotli checker to check your website and see if it worked.