Cách cài đặt và cấu hình Varnish với Apache trên Ubuntu 22.04

theanh

Administrator
Nhân viên
Varnish Cache là trình tăng tốc HTTP hiệu suất cao được thiết kế cho các trang web động có lưu lượng truy cập cao. Nó hoạt động như một trung gian giữa máy khách và máy chủ của bạn, xử lý tất cả các yêu cầu đến trước khi chúng đến máy chủ web của bạn. Varnish lưu trữ một bản sao của mỗi trang web được máy chủ web phục vụ. Khi người dùng yêu cầu một trang được lưu trữ, Varnish sẽ phục vụ bản sao được lưu trữ thay vì yêu cầu cùng một trang nhiều lần từ máy chủ phụ trợ. Điều này làm cho Full Page Cache của Varnish trở nên lý tưởng cho các cửa hàng có lượng truy cập cao và hàng nghìn sản phẩm.

Bài đăng này sẽ chỉ cho bạn cách cài đặt Varnish Cache và cấu hình nó với Apache trên Ubuntu 22.04.

Yêu cầu​

  • Một máy chủ chạy Ubuntu 22.04.
  • Mật khẩu gốc được cấu hình trên máy chủ của bạn.

Cài đặt và cấu hình Apache Web Server​

Trước khi bắt đầu, máy chủ web Apache phải được cài đặt trên máy chủ của bạn. Nếu chưa cài đặt, bạn có thể cài đặt bằng lệnh sau:
Mã:
apt install apache2 -y
Tiếp theo, bạn sẽ cần chỉnh sửa tệp cấu hình Apache và thay đổi cổng mặc định thành một cổng khác.
Mã:
nano /etc/apache2/ports.conf
Tìm mục sau dòng:
Mã:
Listen 80
Và thay thế bằng dòng sau:
Mã:
Listen 8080
Lưu và đóng tệp sau đó chỉnh sửa cấu hình máy chủ ảo mặc định của Apache tệp:
Mã:
nano /etc/apache2/sites-available/000-default.conf
Tìm dòng sau:
Mã:
Và thay thế bằng dòng sau dòng:
Mã:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Apache để áp dụng các thay đổi:
Mã:
systemctl restart apache2
Bây giờ bạn có thể kiểm tra cổng lắng nghe Apache bằng cách sử dụng lệnh sau lệnh:
Mã:
ss -antpl | grep 8080
Bạn sẽ thấy đầu ra sau:
Mã:
LISTEN 0 511 *:8080 *:* users:(("apache2",pid=2553,fd=4),("apache2",pid=2552,fd=4),("apache2",pid=2551,fd=4))

Cài đặt Varnish Cache​

Theo mặc định, phiên bản mới nhất của Varnish cache không có trong kho lưu trữ mặc định của Ubuntu. Vì vậy, bạn sẽ cần thêm kho lưu trữ Varnish vào APT.

Đầu tiên, cài đặt các phụ thuộc cần thiết bằng lệnh sau:
Mã:
apt install debian-archive-keyring curl gnupg apt-transport-https -y
Tiếp theo, thêm khóa GPG Varnish bằng lệnh sau:
Mã:
curl -fsSL https://packagecloud.io/varnishcache/varnish70/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/varnish.gpg
Tiếp theo, tạo nguồn Varnish tệp:
Mã:
nano /etc/apt/sources.list.d/varnishcache_varnish70.list
Thêm dòng sau:
Mã:
deb https://packagecloud.io/varnishcache/varnish70/ubuntu/ focal main
deb-src https://packagecloud.io/varnishcache/varnish70/ubuntu/ focal main
Lưu và đóng tệp sau đó tạo cấu hình khác tệp:
Mã:
nano /etc/apt/preferences.d/varnish
Thêm các dòng sau:
Mã:
Package: varnish
Pin: origin packagecloud.io
Pin-Priority: 900
Lưu và đóng tệp sau đó cập nhật bộ đệm kho lưu trữ bằng lệnh sau lệnh:
Mã:
apt update
Tiếp theo, cài đặt Varnish Cache bằng lệnh sau:
Mã:
apt install varnish -y
Sau khi Varnish Cache được cài đặt, hãy chỉnh sửa tệp default.vcl và xác định phần phụ trợ của bạn máy chủ:
Mã:
nano /etc/varnish/default.vcl
Thay đổi các dòng sau theo máy chủ phụ trợ của bạn:
Mã:
backend default { .host = "127.0.0.1"; .port = "8080";
}
Lưu và đóng tệp khi bạn hoàn tất.

Cấu hình Varnish để hoạt động với Apache​

Tiếp theo, bạn phải tạo tệp cấu hình dịch vụ tùy chỉnh cho Varnish.
Mã:
mkdir /etc/systemd/system/varnish.service.d
nano /etc/systemd/system/varnish.service.d/customport.conf
Thêm các dòng sau:
Mã:
[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m
Lưu và đóng tệp, sau đó tải lại daemon systemd bằng lệnh sau lệnh:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động lại dịch vụ Varnish bằng lệnh sau:
Mã:
systemctl restart varnish
Bây giờ bạn có thể kiểm tra trạng thái của Varnish Cache bằng lệnh sau lệnh:
Mã:
systemctl status varnish
Bạn sẽ nhận được kết quả sau:
Mã:
? varnish.service - Varnish Cache, a high-performance HTTP accelerator Loaded: loaded (/lib/systemd/system/varnish.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/varnish.service.d ??customport.conf Active: active (running) since Tue 2022-10-18 13:07:44 UTC; 14s ago Process: 4968 ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m (c> Main PID: 4969 (varnishd) Tasks: 217 Memory: 90.6M CPU: 595ms CGroup: /system.slice/varnish.service ??4969 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m ??4983 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m
Oct 18 13:07:43 ubuntu2204 systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator...
Oct 18 13:07:44 ubuntu2204 varnishd[4969]: Version: varnish-7.0.3 revision 6a4c6a5c7e66a664b140278c209f0b18c544cab8
Oct 18 13:07:44 ubuntu2204 varnishd[4969]: Platform: Linux,5.15.0-33-generic,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Oct 18 13:07:44 ubuntu2204 varnishd[4969]: Child (4983) Started
Oct 18 13:07:44 ubuntu2204 varnishd[4969]: Child (4983) said Child starts
Oct 18 13:07:44 ubuntu2204 systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.
Lúc này, Varnish đã được cài đặt và lắng nghe trên cổng 80. Bạn có thể kiểm tra bằng lệnh sau:
Mã:
ss -antpl | grep :80
Bạn sẽ nhận được thông báo sau đầu ra:
Mã:
LISTEN 0 1024 0.0.0.0:80 0.0.0.0:* users:(("cache-main",pid=4983,fd=3),("varnishd",pid=4969,fd=3))
LISTEN 0 1024 [::]:80 [::]:* users:(("cache-main",pid=4983,fd=5),("varnishd",pid=4969,fd=5))
LISTEN 0 511 *:8080 *:* users:(("apache2",pid=4749,fd=4),("apache2",pid=4748,fd=4),("apache2",pid=4745,fd=4))

Xác minh bộ đệm Varnish​

Bây giờ bạn có thể xác minh bộ đệm Varnish bằng lệnh CURL:
Mã:
curl -I http://localhost/
Bạn sẽ nhận được bộ đệm Varnish trong phần sau output:
Mã:
HTTP/1.1 200 OK
Date: Tue, 18 Oct 2022 13:08:27 GMT
Server: Apache/2.4.52 (Ubuntu)
Last-Modified: Tue, 18 Oct 2022 13:03:09 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/7.0)
ETag: W/"29af-5eb4eb6b9e071-gzip"
Accept-Ranges: bytes
Content-Length: 10671
Connection: keep-alive

Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công Varnish Cache với Apache trên Ubuntu 22.04. Bây giờ bạn có thể sử dụng Varnish cache trong máy chủ của mình để tăng tốc thời gian tải trang web. 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