Cách cài đặt Nginx với Brotli Compression trên Ubuntu 20.04

theanh

Administrator
Nhân viên
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.

Đ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
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:
Mã:
apt-get install dpkg-dev curl gnupg2 build-essential zlib1g-dev libpcre3 libpcre3-dev unzip -y
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.

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 -
Sau khi khóa được thêm vào, hãy thêm kho lưu trữ Nginx bằng lệnh sau:
Mã:
nano /etc/apt/sources.list.d/nginx.list
Thêm các dòng sau:
Mã:
deb http://nginx.org/packages/ubuntu/ focal nginx
deb-src http://nginx.org/packages/ubuntu/ focal nginx
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:
Mã:
apt-get update -y
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:
Mã:
cd /usr/local/src
apt-get source nginx
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:
Mã:
apt-get build-dep nginx -y
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:
Mã:
git clone --recursive https://github.com/google/ngx_brotli.git
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:
Mã:
cd /usr/local/src/nginx-*/
nano debian/rules
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.
Mã:
--add-module=/usr/local/src/ngx_brotli
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:
Mã:
dpkg-buildpackage -b -uc -us
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.
Mã:
ls -l /usr/local/src/*.deb
Bạn sẽ nhận được thông tin sau đầu ra:
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
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

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
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:
Mã:
nano /etc/nginx/nginx.conf
Thêm các dòng sau vào bên dưới http{
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;
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:
Mã:
nginx -t
Bạn sẽ nhận được thông báo sau đầu ra:
Mã:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

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
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:
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

Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công Nginx với hỗ trợ Brotli trên máy chủ Ubuntu 20.04. Tôi hy vọng bây giờ bạn có thể dễ dàng bật tính năng nén Brotli trong hỗ trợ sản xuất. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên