Google Pagespeed Module là một module nguồn mở để tối ưu hóa các trang web của bạn dưới Nginx và máy chủ web Apache. Module Pagespeed là một module cấp máy chủ được cài đặt cùng với Nginx và máy chủ web Apache.
Mô-đun Pagespeed cải thiện hiệu suất và tốc độ của trang web của bạn bằng cách tối ưu hóa các tệp tĩnh trên các trang web của bạn. Module Pagespeed tối ưu hóa hình ảnh trên các trang web của bạn, thu nhỏ các tệp tĩnh như HTML, CSS và JavaScript và tối ưu hóa bộ nhớ đệm tệp.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách xây dựng module Nginx Pagespeed trên Debian 11 Bullseye mới nhất. Hướng dẫn này có thể áp dụng cho bản cài đặt Nginx hiện tại của bạn vì bạn chỉ cần xây dựng mô-đun Nginx.
1. Thực hiện lệnh apt bên dưới để cập nhật kho lưu trữ hiện tại trên hệ thống của bạn.
2. Tiếp theo, cài đặt các gói phụ thuộc cơ bản để biên dịch chương trình bằng lệnh apt bên dưới.
3. Sau đó, cài đặt các gói phụ thuộc để biên dịch mô-đun Nginx.
1. Thực hiện lệnh sau để kiểm tra phiên bản Nginx.
Đối với ví dụ này, phiên bản Nginx hiện tại được cài đặt trên máy của chúng tôi là '1.18.0'. Dưới đây là kết quả tương tự mà bạn sẽ thấy.
Tùy chọn, nếu bạn không có gói Nginx trên hệ thống của mình, hãy cài đặt nó từ kho lưu trữ Debian chính thức bằng lệnh apt bên dưới.
2. Tiếp theo, tạo một biến môi trường tạm thời mới cho phiên bản Nginx của bạn bằng lệnh bên dưới.
1. Tạo một thư mục dự án mới '/usr/src/nginx' và vào đó.
2. Bây giờ hãy thực hiện lệnh sau để tải xuống mã nguồn Nginx bằng cách sử dụng và giải nén nó.
3. Tiếp theo, sao chép mô-đun Nginx Pagespeed vào thư mục hiện tại và sau khi quá trình hoàn tất, bạn sẽ thấy một thư mục mới 'incubator-pagespeed-ngx'.
4. Di chuyển đến thư mục 'incubator-pagespeed-ngx' và chuyển sang nhánh ổn định của mô-đun Nginx Pagespeed.
5. Kiểm tra tệp 'PSOL_BINARY_URL' để lấy liên kết tải xuống Thư viện tối ưu hóa trang (PSOL). Thư viện này là bắt buộc đối với mô-đun Nginx Pagespeed.
Bạn sẽ thấy đầu ra tương tự như bên dưới. Biến '$BIT_SIZE_NAME' là kiến trúc máy chủ của bạn.
6. Bây giờ hãy tạo một biến môi trường tạm thời mới 'BIT_SIZE_NAME' với giá trị là kiến trúc máy chủ của bạn. Ví dụ bên dưới đang sử dụng 'x64' hoặc kiến trúc máy chủ 64 bit.
7. Bây giờ hãy tải xuống mã nguồn PSOL và giải nén nó.
Bây giờ bạn đã sẵn sàng để xây dựng mô-đun Nginx Pagespeed.
1. Thay đổi thư mục làm việc thành thư mục dự án Nginx.
2. Thực hiện lệnh sau để cấu hình biên dịch mô-đun Nginx của bạn. Lệnh này cũng kiểm tra các yêu cầu hệ thống của bạn, hãy đảm bảo rằng bạn không gặp bất kỳ lỗi nào.
Dưới đây là kết quả bạn sẽ nhận được.
3. Tiếp theo, biên dịch mô-đun Nginx Pagespeed bằng lệnh sau.
Lệnh này sẽ mất một thời gian, tùy thuộc vào CPU và bộ nhớ của hệ thống.
4. Sau khi quá trình biên dịch hoàn tất, mô-đun Pagespeed của bạn sẽ có sẵn dưới dạng 'objs/ngx_pagespeed.so'. Kiểm tra mô-đun bằng lệnh sau.
Bạn sẽ nhận được mô-đun Nginx Pagespeed 'ngx_pagespeed.so' như bên dưới.
1. Sao chép mô-đun 'ngx_pagespeed.so' vào thư mục mô-đun Nginx mặc định '/usr/share/nginx/modules'.
2. Tạo tệp cấu hình mới để bật mô-đun Pagespeedd.
Sao chép và dán cấu hình sau.
Lưu cấu hình và thoát.
3. Kích hoạt mô-đun Pagespeed bằng cách tạo cấu hình liên kết tượng trưng 'ngx-pagespeed.conf' tới thư mục '/etc/nginx/modules-enabled/'.
4. Tiếp theo, tạo cấu hình mới 'pagespeed.conf' trên thư mục '/etc/nginx'.
Sao chép và dán cấu hình sau.
Lưu cấu hình và thoát.
5. Tiếp theo, tạo một thư mục mới để lưu trữ bộ đệm Nginx Pagespeed và đảm bảo rằng thư mục này có thể ghi được bởi người dùng Nginx 'www-data'.
Bây giờ mô-đun Nginx Pagespeed đã được thêm vào cài đặt Nginx hiện tại của bạn. Hãy chuyển sang bước tiếp theo để bật mô-đun này trên các máy chủ ảo (khối máy chủ) của bạn.
1. Đối với ví dụ này, hãy thêm enable module Pagespeed vào máy chủ ảo 'default'. Chỉnh sửa cấu hình '/etc/nginx/sites-available/default' bằng trình soạn thảo nano.
Thêm cấu hình 'include /etc/nginx/pagespeed.conf;' bên trong phần 'server {...}' như bên dưới.
lưu cấu hình và thoát.
2. Xác minh cấu hình Nginx của bạn và đảm bảo bạn không gặp bất kỳ lỗi nào. Sau đó, khởi động lại dịch vụ Nginx để áp dụng cấu hình mới.
1. Thực hiện lệnh curl bên dưới để lấy tiêu đề HTTP của máy chủ web Nginx.
Bây giờ bạn sẽ nhận được đầu ra như bên dưới. Phần tiêu đề bổ sung 'X-Page-Speed' có nghĩa là mô-đun Nginx Pagespeed đã được bật.
2. Để kiểm tra từ trình duyệt web của bạn, hãy truy cập tên miền của bạn và nhấp chuột phải vào trang, sau đó chọn menu 'Kiểm tra'.
Tải lại trang web của bạn một lần nữa và bạn sẽ thấy các tiêu đề HTTP chi tiết như bên dưới.
Mô-đun Pagespeed cải thiện hiệu suất và tốc độ của trang web của bạn bằng cách tối ưu hóa các tệp tĩnh trên các trang web của bạn. Module Pagespeed tối ưu hóa hình ảnh trên các trang web của bạn, thu nhỏ các tệp tĩnh như HTML, CSS và JavaScript và tối ưu hóa bộ nhớ đệm tệp.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách xây dựng module Nginx Pagespeed trên Debian 11 Bullseye mới nhất. Hướng dẫn này có thể áp dụng cho bản cài đặt Nginx hiện tại của bạn vì bạn chỉ cần xây dựng mô-đun Nginx.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có các yêu cầu sau.- Hệ điều hành: Debian 11 Bullseye
- Quyền root
Cài đặt các gói phụ thuộc
Đầu tiên, bạn sẽ cài đặt các gói phụ thuộc để biên dịch mô-đun Nginx.1. Thực hiện lệnh apt bên dưới để cập nhật kho lưu trữ hiện tại trên hệ thống của bạn.
Mã:
sudo apt update
Mã:
sudo apt install curl dpkg-dev build-essential zlib1g-dev git libpcre3 git libpcre3-dev unzip uuid-dev -y
Mã:
sudo apt build-dep nginx -y
Kiểm tra phiên bản Nginx hiện tại
Để xây dựng mô-đun Nginx Pagespeed tùy chỉnh, hãy đảm bảo rằng máy chủ web Nginx hiện tại của bạn giữ nguyên phiên bản mã nguồn Nginx mà bạn sẽ sử dụng để xây dựng mô-đun Nginx.1. Thực hiện lệnh sau để kiểm tra phiên bản Nginx.
Mã:
nginx -v
Mã:
phiên bản nginx: nginx/1.18.0
Mã:
sudo apt install nginx -y
Mã:
export NG_VER=1.18.0
Tải xuống Mã nguồn Nginx và Pagespeed
Trong bước này, bạn sẽ tải xuống mã nguồn Nginx và mô-đun Pagespeed vào máy chủ của mình. Mã nguồn Nginx này sẽ có cùng phiên bản với gói Nginx hiện tại của bạn.1. Tạo một thư mục dự án mới '/usr/src/nginx' và vào đó.
Mã:
mkdir -p /usr/src/nginx; cd /usr/src/nginx
Mã:
wget http://nginx.org/download/nginx-$NG_VER.tar.gz
tar -xzvf nginx-$NG_VER.tar.gz
Mã:
git clone https://github.com/apache/incubator-pagespeed-ngx.git
Mã:
cd incubator-pagespeed-ngx/
git checkout latest-stable
Mã:
cat PSOL_BINARY_URL
Mã:
wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-$BIT_SIZE_NAME.tar.gz
Mã:
export BIT_SIZE_NAME=x64
Mã:
wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-$BIT_SIZE_NAME.tar.gz
tar -xzvf 1.13.35.2-$BIT_SIZE_NAME.tar.gz
Biên dịch mô-đun Nginx Pagespeed
Trong bước này, bạn sẽ biên dịch mô-đun Nginx Pagespeed. Cuối cùng, bạn sẽ nhận được mô-đun Nginx với định dạng '.so' mà bạn có thể áp dụng cho máy chủ web Nginx hiện tại của mình.1. Thay đổi thư mục làm việc thành thư mục dự án Nginx.
Mã:
cd /usr/src/nginx/nginx-$NG_VER
Mã:
./configure --with-compat --add-dynamic-module=../incubator-pagespeed-ngx
Mã:
Tóm tắt cấu hình
+ sử dụng thư viện PCRE hệ thống
+ Không sử dụng thư viện OpenSSL
+ sử dụng thư viện zlib hệ thống
Tiền tố đường dẫn nginx: "/usr/local/nginx"
Tệp nhị phân nginx: "/usr/local/nginx/sbin/nginx"
Đường dẫn mô-đun nginx: "/usr/local/nginx/modules"
Tiền tố cấu hình nginx: "/usr/local/nginx/conf"
Tệp cấu hình nginx: "/usr/local/nginx/conf/nginx.conf"
Tệp pid nginx: "/usr/local/nginx/logs/nginx.pid"
tệp nhật ký lỗi nginx: "/usr/local/nginx/logs/error.log"
tệp nhật ký truy cập http nginx: "/usr/local/nginx/logs/access.log"
tệp yêu cầu máy khách http nginx tệp tạm thời: "client_body_temp"
tệp proxy http nginx tệp tạm thời: "proxy_temp"
tệp tạm thời nginx http fastcgi: "fastcgi_temp"
tệp tạm thời nginx http uwsgi: "uwsgi_temp"
tệp tạm thời nginx http scgi: "scgi_temp"
Mã:
make modules
4. Sau khi quá trình biên dịch hoàn tất, mô-đun Pagespeed của bạn sẽ có sẵn dưới dạng 'objs/ngx_pagespeed.so'. Kiểm tra mô-đun bằng lệnh sau.
Mã:
ls objs/ngx_pagespeed.so
Mã:
-rwxr-xr-x 1 root root 19M 8 tháng 12 21:44 objs/ngx_pagespeed.so
Thêm mô-đun Pagespeed vào cài đặt Nginx hiện tại
Trong bước này, bạn sẽ triển khai mô-đun Nginx Pagespeed vào cài đặt Nginx hiện tại của mình. Để thực hiện việc đó, hãy sao chép mô-đun Pagespeed 'ngx_pagespeed.so' vào thư mục mô-đun Nginx và thêm cấu hình mới để bật mô-đun đó.1. Sao chép mô-đun 'ngx_pagespeed.so' vào thư mục mô-đun Nginx mặc định '/usr/share/nginx/modules'.
Mã:
cp /usr/src/nginx/nginx-$NG_VER/objs/ngx_pagespeed.so /usr/share/nginx/modules
Mã:
nano /usr/share/nginx/modules-available/ngx-pagespeed.conf
Mã:
load_module modules/ngx_pagespeed.so;
3. Kích hoạt mô-đun Pagespeed bằng cách tạo cấu hình liên kết tượng trưng 'ngx-pagespeed.conf' tới thư mục '/etc/nginx/modules-enabled/'.
Mã:
ln -s /usr/share/nginx/modules-available/ngx-pagespeed.conf /etc/nginx/modules-enabled/70-ngx-pagespeed.conf
Mã:
nano /etc/nginx/pagespeed.conf
Mã:
pagespeed on;
# Cần tồn tại và có thể ghi được bởi nginx. Sử dụng tmpfs để có hiệu suất tốt nhất.
pagespeed FileCachePath /var/ngx_pagespeed_cache;
# Đảm bảo các yêu cầu về tài nguyên được tối ưu hóa cho tốc độ trang sẽ chuyển đến trình xử lý tốc độ trang
# và không có tiêu đề không cần thiết nào được đặt.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
5. Tiếp theo, tạo một thư mục mới để lưu trữ bộ đệm Nginx Pagespeed và đảm bảo rằng thư mục này có thể ghi được bởi người dùng Nginx 'www-data'.
Mã:
mkdir -p /var/ngx_pagespeed_cache
chown www-data:www-data /var/ngx_pagespeed_cache
Thêm mô-đun Nginx Pagespeed trên máy chủ ảo của bạn
Để bật mô-đun Pagespeed cho máy chủ ảo của bạn, hãy thêm cấu hình 'pagespeed.conf' vào tệp cấu hình máy chủ ảo của bạn bằng tùy chọn 'include'.1. Đối với ví dụ này, hãy thêm enable module Pagespeed vào máy chủ ảo 'default'. Chỉnh sửa cấu hình '/etc/nginx/sites-available/default' bằng trình soạn thảo nano.
Mã:
nano /etc/nginx/sites-available/default
Mã:
server {
.....
....
include /etc/nginx/pagespeed.conf;
}
2. Xác minh cấu hình Nginx của bạn và đảm bảo bạn không gặp bất kỳ lỗi nào. Sau đó, khởi động lại dịch vụ Nginx để áp dụng cấu hình mới.
Mã:
nginx -t
sudo systemctl restart nginx
Xác minh Mô-đun Pagespeed Nginx
Để xác minh việc cài đặt và triển khai mô-đun Pagespeed Nginx, bạn có thể sử dụng lệnh curl để lấy tiêu đề HTTP của máy chủ web Nginx hoặc sử dụng phần tử Inspect trên trình duyệt web của bạn.1. Thực hiện lệnh curl bên dưới để lấy tiêu đề HTTP của máy chủ web Nginx.
Mã:
curl -I https://domain.com/
Mã:
HTTP/1.1 200 OK
Máy chủ: nginx/1.18.0
Content-Type: text/html
Kết nối: keep-alive
Ngày: Thứ tư, ngày 01 tháng 12 năm 2021 22:02:52 GMT
X-Page-Speed: 1.13.35.2-0
Cache-Control: max-age=0, no-cache
2. Để kiểm tra từ trình duyệt web của bạn, hãy truy cập tên miền của bạn và nhấp chuột phải vào trang, sau đó chọn menu 'Kiểm tra'.
Tải lại trang web của bạn một lần nữa và bạn sẽ thấy các tiêu đề HTTP chi tiết như bên dưới.