Brotli là một thư viện nén dữ liệu mã nguồn mở được chỉ định chính thức bởi dự thảo IETF. Nó có thể được dùng để nén dữ liệu HTTPS responses mà server side gửi về cho browser, giống như vai trò của gzip hay deflate. Hiện nay phần lớn các browser phổ biến đã hỗ trợ Brotli mặc định, như Chrome, Firefox hay Edgle.

Ngoài ra, Brotli an toàn hơn vì brotli chỉ chạy trên giao thức HTTPS.

Cũng giống như gzip, Brotli là một thuật toán nén không mất dữ liệu, nén dữ liệu bằng cách sử dụng kết hợp một biến thể hiện đại của thuật toán LZ77, mã hóa Huffman và mô hình ngữ cảnh bậc 2, với tỷ lệ nén tương đương với các phương pháp nén đa năng tốt nhất hiện có. Nó tương tự về tốc độ với deflate / gzip nhưng cung cấp khả năng nén tốt hơn.

Hướng dẫn cài đặt Nginx Module Brotli trên Ubuntu 20.04
Hướng dẫn cài đặt Nginx Module Brotli trên Ubuntu 20.04 12

Ở bài viết này mình sẽ Hướng dẫn cài đặt Nginx Module Brotli trên Ubuntu 20.04.

Điều kiện: Máy chủ cài đặt LEMP trên Ubuntu, nếu bạn chưa triển khai hãy tham khảo bài viết bên dưới để thực hiện.

  • Hướng dẫn cài đặt LEMP Stack trên Ubuntu 20.04 và WordPress từ A-Z

Trước đi vào bắt đầu mình sẽ kiểm tra website đã có brotli hay chưa.-

Hướng dẫn cài đặt Nginx Module Brotli trên Ubuntu 20.04
Hướng dẫn cài đặt Nginx Module Brotli trên Ubuntu 20.04 13

Bước 1: Cài đặt Brotli NGINX

Bạn hãy copy tuần tự các lệnh bên dưới và chạy ở cửa sổ Terminal.

$ sudo apt install git gcc cmake libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
$ wget https://nginx.org/download/nginx-1.18.0.tar.gz
$ tar zxvf nginx-1.18.0.tar.gz
$ git clone https://github.com/google/ngx_brotli.git
$ cd ~/ngx_brotli
$ git submodule update --init
$ cd ~/nginx-1.18.0
$ ./configure --with-compat --add-dynamic-module=../ngx_brotli
$ make modules
$ sudo cp ./objs/*.so /usr/share/nginx/modules
$ cd
Hướng dẫn cài đặt Nginx Module Brotli trên Ubuntu 20.04
Hướng dẫn cài đặt Nginx Module Brotli trên Ubuntu 20.04 14

Bước 2: Sửa lại file nginx.conf

Để tránh những thao tác của bạn sửa nhầm. Mình sẽ thêm một lệnh cp cho bạn.

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
vi /etc/nginx/nginx.conf

Sau khi mở file nginx.conf bạn thêm vào 2 đoạn sau ở đầu file

load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;
Hướng dẫn cài đặt Nginx Module Brotli trên Ubuntu 20.04
Hướng dẫn cài đặt Nginx Module Brotli trên Ubuntu 20.04 15

Kiểm tra cấu hình nginx xem có lỗi không bằng lệnh nginx -t và khởi động lại bằng lệnh

root@sv:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nếu không có lỗi bạn Khởi động lại NGINX

service nginx restart

Bước 3: Thêm cấu hình brotli vào vhost

Bạn hãy mở vhost domain lên và thêm vào như sau

/etc/nginx/sites-available/example.conf

Sau đó bạn thêm vào các dòng sau

##Brotli
    brotli on;
    brotli_comp_level 6;
    brotli_types text/plain text/css text/xml application/json application/javascript application/xml+rss application/atom+xml image/svg+xml;
#Brotli
Hướng dẫn cài đặt Nginx Module Brotli trên Ubuntu 20.04
Hướng dẫn cài đặt Nginx Module Brotli trên Ubuntu 20.04 16

Bây giờ bạn hãy khởi động lại NGINX và check lại Brotli nhé.

Hướng dẫn cài đặt Nginx Module Brotli trên Ubuntu 20.04
Kiểm tra bằng công cụ online
Screenshot 2021 09 10 at 21.32.23
Kiểm tra trên trình duyệt.

Chúc bạn thực hiện thành công.