Install Modules Brotli Compression Nginx
Install Modules Brotli Compression Nginx

Cara Install Modules Brotli Compression di Web Server Nginx

Brotli adalah algoritma compression open source yang dikembangkan oleh Google, yang dapat memberikan compression yang lebih baik dibandingkan dengan gzip.

Dengan mengimplementasikan Brotli Compression pada web server Nginx, kamu dapat mempercepat loading website secara signifikan, mengurangi penggunaan bandwidth, dan meningkatkan pengalaman pengguna.

Pada artikel ini saya menggunakan ubuntu 22.04 dan versi nginx 1.18.0 yang sudah terinstall dan running.

1. Install Dependensi yang Diperlukan

Update sistem dan instal dependency

sudo apt update && sudo apt install dpkg-dev build-essential gnupg2 git gcc cmake libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev curl unzip libbrotli-dev git -y

2. Download Source Code Nginx dan Modules Brotli

Nginx

Cek versi Nginx yang sedang berjalan

nginx -v

Download source Nginx dengan versi yang sama

sudo wget https://nginx.org/download/nginx-1.18.0.tar.gz
sudo tar -xzvf nginx-1.18.0.tar.gz

Brotli

Clone repository Brotli

git clone https://github.com/google/ngx_brotli
cd ngx_brotli
git submodule update –init

3. Configuration dan Compile Nginx dengan Module Brotli

Masuk ke direktori source Nginx

cd ../nginx-1.18.0

Jalankan configuration dengan menambahkan module Brotli

./configure –add-dynamic-module=../ngx_brotli $(nginx -V) –with-compat
make
make modules

Copy modules hasil compile, ke directory modules Nginx

sudo cp objs/ngx_http_brotli_filter_module.so /usr/lib/nginx/modules/
sudo cp objs/ngx_http_brotli_static_module.so /usr/lib/nginx/modules/

4. Load Module di Nginx

Masukan modules brotli  ke file nginx.conf

echo -e “load_module modules/ngx_http_brotli_filter_module.so;\ load_module modules/ngx_http_brotli_static_module.so;” | sudo tee /etc/nginx/modules-enabled/50-brotli.conf

5. Configuration Brotli Compression

Buka file configuration nginx.conf

sudo nano /etc/nginx/nginx.conf

Tambahkan Configuration Brotli di blok http

##
# Brotli Compression
##

brotli on;
brotli_comp_level 6;
brotli_types application/atom+xml application/javascript application/json application/vnd.api+json application/rss+xml
application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;

Configuration Brotli Compression Nginx
Configuration Brotli Compression Nginx

6. Test dan Restart Nginx

Test Configuration

sudo nginx -t

Jika sukses test configuration, reload Nginx

sudo systemctl reload nginx

7. Verification Brotli Nginx

Verification bahwa Brotli berjalan dengan baik

curl -H ‘Accept-Encoding: br’ -I https://domain-kamu.com

Header content-encoding br
Header content-encoding br

Cari header: Content-Encoding: br pada output.

Dengan mengikuti langkah-langkah di atas, kamu berhasil mengimplementasikan Brotli Compression pada Nginx. Ini akan memberikan dampak positif pada performa website kamu, terutama untuk pengguna dengan koneksi internet lambat.