Cách cài đặt nginx và google PageSpeed trên Ubuntu 16.04 (Xenial Xerus)

theanh

Administrator
Nhân viên
Nginx (engine-x) là một máy chủ HTTP, proxy ngược và máy chủ proxy IMAP/POP3 mã nguồn mở và hiệu suất cao. Các tính năng nổi bật của Nginx là tính ổn định, bộ tính năng phong phú, cấu hình đơn giản và mức tiêu thụ bộ nhớ thấp. Hướng dẫn này chỉ cách xây dựng gói Nginx .deb cho Ubuntu 16.04 từ nguồn có mô-đun Google PageSpeed được biên dịch trong.


PageSpeed là một mô-đun máy chủ web do Google phát triển để tăng tốc thời gian phản hồi của trang web, tối ưu hóa HTML trả về và giảm thời gian tải trang. Các tính năng của ngx_pagespeed bao gồm:
  • Tối ưu hóa hình ảnh: loại bỏ siêu dữ liệu, thay đổi kích thước động, nén lại.
  • CSS & Thu nhỏ, nối, nhúng và phác thảo JavaScript.
  • Nhúng tài nguyên nhỏ.
  • Hoãn tải hình ảnh và JavaScript.
  • Viết lại HTML.
  • Mở rộng thời gian lưu trữ bộ đệm.
xem thêm https://developers.google.com/speed/pagespeed/module/.


Điều kiện tiên quyết​

  • Ubuntu Server 16.04 - 64 bit
  • quyền root
Những gì chúng ta sẽ làm trong hướng dẫn này:
  1. Cài đặt các gói tiên quyết.
  2. Cài đặt nginx với ngx_pagespeed.
  3. Kiểm tra.

Cài đặt thebuild dependency​

Mã:
sudo apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip

Cài đặt nginx với ngx_pagespeed​

Bước 1 - Thêm kho lưu trữ nginx​
Tạo tệp kho lưu trữ mới/etc/apt/sources.list.d/nginx.list bằng vim.
Mã:
vim /etc/apt/sources.list.d/nginx.list
Ở đó, bạn thêm các dòng sau:
Mã:
deb http://nginx.org/packages/ubuntu/ xenial nginxdeb-src http://nginx.org/packages/ubuntu/ xenial nginx
Lưu tệp và thoát khỏi trình chỉnh sửa.

Thêm khóa và cập nhật kho lưu trữ:
Mã:
sudo sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62
sudo apt-get update
Bước 2 - Tải xuống nginx 1.10 từ kho lưu trữ ubuntu​
Tạo một thư mục mới cho các tệp nguồn nginx và tải xuống các nguồn nginx bằng apt:
Mã:
cd ~
mkdir -p ~/new/nginx_source/
cd ~/new/nginx_source/
apt-get source nginx
Đôi khi, có lỗi:'không thể tải các gói authenticated'.

Bạn có thể giải quyết bằng cách nhập lệnh bên dưới:
Mã:
rm -rf /var/lib/apt/lists/
apt-get update
Tiếp theo, cài đặt tất cả các phụ thuộc để xây dựng gói nginx.
Mã:
apt-get build-dep nginx
Bước 3 - Tải xuống Pagespeed​
Tạo một thư mục mới cho PageSpeed và tải xuống nguồn PageSpeed.

Trong hướng dẫn này, chúng tôi sẽ sử dụng pagespeed 1.11.33.
Mã:
mkdir -p ~/new/ngx_pagespeed/
cd ~/new/ngx_pagespeed/
ngx_version= 1.11.33.3
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${ngx_version}-beta.zip
unzip release-${ngx_version}-beta.zip

cd ngx_pagespeed-release-${ngx_version}-beta/
wget https://dl.google.com/dl/page-speed/psol/${ngx_version}.tar.gz
tar -xzvf ${ngx_version}.tar.gz
Bước 4 - Cấu hình nginx để xây dựng với Pagespeed​
Đi đến thư mục 'nginx_source' và chỉnh sửa tệp 'rules' bằng vim.
Mã:
cd ~/new/nginx_source/nginx-1.10.1/debian/
vim rules
Thêm dòng mới vào 'COMMON_CONFIGURE_ARGS':
Mã:
--add-module=../../ngx_pagespeed/ngx_pagespeed-release-1.11.33.3-beta \
Lưu và thoát.




Bước 5 - Biên dịch gói nginxUbuntu và cài đặt nó​
Đi đến thư mục nguồn ginx và biên dịch nginx từ nguồn bằng lệnh dpkg-buildpackage:
Mã:
cd ~/new/nginx_source/nginx-1.10.1/
dpkg-buildpackage -b
Gói nginxUbuntu sẽ được lưu tại ~/new/ngix_source/. Sau khi xây dựng gói hoàn tất, vui lòng xem trong thư mục:
Mã:
cd ~/new/ngix_source/
ls


Và cài đặt nginx và các module deb bằng lệnh dpkg.
Mã:
dpkg -i *.deb

Kiểm tra​

Bước 1 - Kiểm tra bằng lệnh Nginx​
Chạy nginx -V để kiểm tra xem mô-đun ngx_pagespeed đã được tích hợp vào nginx hay chưa.
Mã:
nginx -V



Bước 2 - Kiểm tra bằng lệnh Curl​
Truy cập thư mục cấu hình nginx.
Mã:
cd /etc/nginx/conf.d/
và chỉnh sửa tệp cấu hình máy chủ ảo mặc định.
Mã:
vim default.conf
Dán cấu hình bên dưới để bật ngx_pagespeed.
Mã:
pagespeed bật;

# Cần tồn tại và có thể ghi được bằng 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 pagespeed sẽ chuyển đến trình xử lý pagespeed
# 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$" { }
Lưu và thoát.



Tiếp theo, hãy kiểm tra tệp cấu hình nginx và đảm bảo không có lỗi:
Mã:
nginx -t
Khởi động lại nginx:
Mã:
systemctl restart nginx
Cuối cùng, truy cập máy chủ web nginx bằng lệnh curl:
Mã:
curl -I 192.168.1.6



Kết luận​

Máy chủ web nginx là máy chủ http mã nguồn mở ổn định và nhanh chóng hỗ trợ nhiều mô-đun để tối ưu hóa phân phối nội dung. Một trong những mô-đun này là 'mô-đun PageSpeed' do google phát triển. Không giống như apache, các mô-đun nginx không thể tải động, vì vậy bạn phải chọn các mô-đun mong muốn khi xây dựng gói nginx.
 
Back
Bên trên