NỘI DUNG
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.
Ở 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.
Trước đi vào bắt đầu mình sẽ kiểm tra website đã có brotli hay chưa.-
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
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;
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
Bây giờ bạn hãy khởi động lại NGINX và check lại Brotli nhé.
Chúc bạn thực hiện thành công.