Brotli là một thuật toán nén mã nguồn mở do Google tạo ra. Thuật toán này có thể được sử dụng thay thế cho Gzip, Zopfli và Deflate. Đây là một thuật toán nén không mất dữ liệu mục đích chung, nén dữ liệu bằng cách kết hợp một biến thể hiện đại của thuật toán LZ77 và mã hóa Huffman. Nó nén dữ liệu nhiều hơn từ 10 đến 20 phần trăm so với các thuật toán nén hiện tại.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt Brotli với Nginx trên máy chủ Ubuntu 20.04.
Sau khi tất cả các gói được cập nhật, bạn có thể cài đặt các gói phụ thuộc khác bằng cách chạy lệnh sau:
Sau khi tất cả các gói phụ thuộc được cài đặt, bạn có thể tiến hành bước tiếp theo.
Trước tiên, hãy tải xuống và thêm khóa Nginx bằng lệnh sau:
Sau khi khóa được thêm vào, hãy thêm kho lưu trữ Nginx bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất, sau đó cập nhật kho lưu trữ bằng lệnh sau:
Sau khi kho lưu trữ được cập nhật, hãy thay đổi thư mục thành /usr/local/src và tải xuống mã nguồn Nginx bằng lệnh sau lệnh:
Tiếp theo, cài đặt tất cả các phụ thuộc cần thiết cho Nginx bằng lệnh sau:
Sau khi tất cả các phụ thuộc được cài đặt, hãy tải xuống phiên bản mới nhất của nguồn Brotli từ kho lưu trữ Git với lệnh sau lệnh:
Tiếp theo, hãy thay đổi thư mục thành nguồn Nginx và chỉnh sửa tệp quy tắc debian:
Bây giờ bạn sẽ nhận được hai môi trường dựng cho 'config.env.nginx' và 'config.env.nginx_debug'. Thêm tùy chọn '--add-module=' cho ngx_brotli vào cả hai môi trường được xây dựng.
Lưu và đóng tệp khi bạn hoàn tất. Bây giờ, biên dịch và xây dựng gói nginx với hỗ trợ ngx_brotli bằng lệnh sau:
Sau khi xây dựng hoàn tất, bạn sẽ nhận được các gói nginx-*.deb trong thư mục '/usr/local/src' như hiển thị bên dưới.
Bạn sẽ nhận được thông tin sau đầu ra:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp cấu hình chính của Nginx và bật hỗ trợ Brotli:
Thêm các dòng sau vào bên dưới http{
Lưu và đóng tệp sau đó xác minh Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Bạn sẽ nhận được thông báo sau đầu ra:
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Để kiểm tra, hãy chạy lệnh sau trong thiết bị đầu cuối của bạn:
Nếu mọi thứ đều ổn, bạn sẽ thấy kết quả 'content-encoding: br' cho hỗ trợ brotli như hiển thị bên dưới:
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt Brotli với Nginx trên máy chủ Ubuntu 20.04.
Điều kiện tiên quyết
- Máy chủ chạy Ubuntu 20.04.
- Mật khẩu gốc đã được cấu hình trên máy chủ.
Bắt đầu
Trước tiên, bạn nên cập nhật các gói hệ thống lên phiên bản mới nhất. Bạn có thể cập nhật tất cả các gói này bằng cách chạy lệnh sau:
Mã:
apt-get update -y
Mã:
apt-get install dpkg-dev curl gnupg2 build-essential zlib1g-dev libpcre3 libpcre3-dev unzip -y
Tải xuống Nginx và Brotli Source
Trước khi tải xuống Nginx và Brotli source, bạn phải thêm kho lưu trữ Nginx vào hệ thống của mình.Trước tiên, hãy tải xuống và thêm khóa Nginx bằng lệnh sau:
Mã:
curl -L https://nginx.org/keys/nginx_signing.key | apt-key add -
Mã:
nano /etc/apt/sources.list.d/nginx.list
Mã:
deb http://nginx.org/packages/ubuntu/ focal nginx
deb-src http://nginx.org/packages/ubuntu/ focal nginx
Mã:
apt-get update -y
Mã:
cd /usr/local/src
apt-get source nginx
Mã:
apt-get build-dep nginx -y
Mã:
git clone --recursive https://github.com/google/ngx_brotli.git
Mã:
cd /usr/local/src/nginx-*/
nano debian/rules
Mã:
--add-module=/usr/local/src/ngx_brotli
Mã:
dpkg-buildpackage -b -uc -us
Mã:
ls -l /usr/local/src/*.deb
Mã:
-rw-r--r-- 1 root root 1124244 Dec 2 06:30 /usr/local/src/nginx_1.18.0-2~focal_amd64.deb
-rw-r--r-- 1 root root 10608196 Dec 2 06:30 /usr/local/src/nginx-dbg_1.18.0-2~focal_amd64.deb
Cài đặt Nginx và bật hỗ trợ Brotli
Bây giờ, bạn có các gói Nginx hỗ trợ Brotli. Bạn có thể cài đặt chúng bằng lệnh sau:
Mã:
cd /usr/local/src/
dpkg -i *.deb
Mã:
nano /etc/nginx/nginx.conf
Mã:
brotli on; brotli_comp_level 6; brotli_static on; brotli_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon image/vnd.microsoft.icon image/bmp image/svg+xml;
Mã:
nginx -t
Mã:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mã:
systemctl restart nginx
Xác minh Nginx và Brotli
Tại thời điểm này, Nginx đã được cài đặt và cấu hình với sự hỗ trợ của Brotli. Bây giờ, đã đến lúc kiểm tra xem hỗ trợ Nginx Brotli có được bật hay không.Để kiểm tra, hãy chạy lệnh sau trong thiết bị đầu cuối của bạn:
Mã:
curl -H 'Accept-Encoding: br' -I http://localhost
Mã:
HTTP/1.1 200 OK
Server: nginx/1.18.0
Date: Wed, 02 Dec 2020 06:38:17 GMT
Content-Type: text/html
Last-Modified: Tue, 21 Apr 2020 14:09:01 GMT
Connection: keep-alive
ETag: W/"5e9efe7d-264"
Content-Encoding: br