Cara Memasang Modul Brotli Compression di Nginx

Selasa, 15 Desember 2020

Cara Memasang Modul Brotli Compression di Nginx. Brotli adalah salahsatu modul compression yang secara performa diklaim lebih cepat dari gzip. Sudah banyak yang membahas perbandingan Brotli dan Gzip, dan memang Brotli bisa dioptimasi lebih jauh, yang artinya bisa meningkatkan performa dari web server.

Nah, di tutorial ini saya akan sharing sedikit mengenai pemasangan modul Brotli di Nginx. Nginxnya sendiri sudah terinstall, jadi kita akan compile modulenya dengan mode dynamic.

Di tutorial ini saya menggunakan Nginx 1.18.0 yang terinstall di Ubuntu.

Pertama kita install dependensi yang dibutuhkan untuk proses compile:

sudo apt update && sudo apt install libpcre3 libpcre3-dev git gcc

Selanjutnya karena disini saya menggunakan Nginx versi 1.18.0 maka download source code Nginx dengan versi yang sama.

wget http://nginx.org/download/nginx-1.18.0.tar.gz

tar xf nginx-1.18.0.tar.gz

Selanjutnya download modul Brotli

git clone https://github.com/google/ngx_brotli

cd ngx_brotli

git submodule update --init

Oke, lanjut compile Nginx dengan modul Brotli.

cd ../nginx-1.18.0

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

make

Lalu copy modul Brotli ke direktori library 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/

 Selanjutnya aktifkan modul Brotli.

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

Nah, di nginx.conf, tambahkan rule kompresinya di block http.

brotli on;
brotli_comp_level 11;
brotli_static on;
brotli_types application/atom+xml application/javascript application/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;
Untuk level kompresinya bernilai 0 sampai 11. Makin tinggi nilainya makin kecil ukuran kompresinya. Untuk lebih jelasnya kalian bisa lihat di halaman nginx_brotli di GitHub.

Jangan lupa reload Nginx untuk melihat perubahan.
sudo service nginx reload

Oke mungkin sekian tutorial kali ini, semoga bermanfaat. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.

Artikel Terkait Nginx ,Web Server