Cách cài đặt và sử dụng Varnish Cache trên Debian 11

theanh

Administrator
Nhân viên
Varnish Cache là một trình tăng tốc HTTP mã nguồn mở, mạnh mẽ và phổ biến nhất được hơn 3,4 triệu trang web sử dụng. Nó có thể được sử dụng như một proxy lưu trữ đệm ngược được thiết kế đặc biệt cho các trang web động có lưu lượng truy cập cao. Nó được sử dụng để lưu trữ đệm nội dung trước máy chủ web. Nó hoạt động bằng cách lưu trữ đệm nội dung trong bộ nhớ. Khi người dùng yêu cầu một trang được lưu trữ đệm, Varnish sẽ phục vụ bản sao được lưu trữ đệm thay vì yêu cầu cùng một trang nhiều lần từ máy chủ phụ trợ. Nhiều nhà cung cấp dịch vụ lưu trữ VPS sử dụng nó như một phần trong công nghệ của họ để cải thiện hiệu suất trang web.

Bài đăng này sẽ chỉ cho bạn cách cài đặt Varnish Cache với Apache trên Debian 11.

Yêu cầu​

  • Máy chủ chạy Debian 11.
  • 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 máy chủ web Apache​

Đầu tiên, bạn sẽ cần cài đặt máy chủ web Apache trên máy chủ của mình. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt install apache2 -y
Sau khi cài đặt máy chủ web Apache, 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 khi bạn hoàn tất.

Tiếp theo, bạn cũng sẽ cần chỉnh sửa tệp cấu hình máy chủ ảo mặc định của Apache và thay đổi mặc định cổng:
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 apache2
Bạn sẽ thấy đầu ra sau:
Mã:
LISTEN 0 511 *:8080 *:* users:(("apache2",pid=19315,fd=4),("apache2",pid=19314,fd=4),("apache2",pid=19313,fd=4),("apache2",pid=19312,fd=4),("apache2",pid=19311,fd=4),("apache2",pid=19310,fd=4))

Cài đặt Varnish Server Debian 11​

Theo mặc định, phiên bản mới nhất của bộ đệm Varnish không có trong kho lưu trữ mặc định của Debian. 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 | 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/debian/ bullseye main
deb-src https://packagecloud.io/varnishcache/varnish70/debian/ bullseye main
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 -y
Tiếp theo, cài đặt Varnish Cache bằng lệnh sau:
Mã:
apt install varnish -y
Sau khi cài đặt Varnish Cache, hãy khởi động máy chủ Varnish bằng lệnh sau lệnh.
Mã:
systemctl restart varnish
Bạn cũng có thể xác minh phiên bản Varnish bằng lệnh sau.
Mã:
varnishd -V
Bạn sẽ nhận được thông báo sau đầu ra.
Mã:
varnishd (varnish-7.0.3 revision 6a4c6a5c7e66a664b140278c209f0b18c544cab8)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2022 Varnish Software

Cấu hình Varnish Server​

Tiếp theo, bạn sẽ cần chỉnh sửa tệp default.vcl và xác định máy chủ phụ trợ của mình:
Mã:
nano /etc/varnish/default.vcl
Thay đổi các dòng sau theo máy chủ phụ trợ của bạn máy chủ:
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 sẽ cần tạo tệp cấu hình dịch vụ tùy chỉnh cho Varnish. Bạn có thể tạo nó bằng lệnh sau.
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:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động lại dịch vụ Varnish bằng lệnh sau lệnh:
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:
Mã:
systemctl status varnish
Bạn sẽ nhận được thông báo sau đầu ra:
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 Fri 2022-12-30 05:31:51 UTC; 9s ago Process: 24637 ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m (> Main PID: 24638 (varnishd) Tasks: 217 Memory: 132.4M CPU: 535ms CGroup: /system.slice/varnish.service ??24638 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m ??24652 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m
Dec 30 05:31:50 debian11 systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator...
Dec 30 05:31:51 debian11 varnishd[24638]: Version: varnish-7.0.3 revision 6a4c6a5c7e66a664b140278c209f0b18c544cab8
Dec 30 05:31:51 debian11 varnishd[24638]: Platform: Linux,5.10.0-20-amd64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Dec 30 05:31:51 debian11 varnishd[24638]: Child (24652) Started
Dec 30 05:31:51 debian11 varnishd[24638]: Child (24652) said Child starts
Dec 30 05:31:51 debian11 systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.
Tại thời điểm 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 :varnishd
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=24652,fd=3),("varnishd",pid=24638,fd=3))
LISTEN 0 1024 127.0.0.1:8443 0.0.0.0:* users:(("cache-main",pid=24652,fd=7),("varnishd",pid=24638,fd=7))
LISTEN 0 10 127.0.0.1:39231 0.0.0.0:* users:(("varnishd",pid=24638,fd=11))
LISTEN 0 10 [::1]:36395 [::]:* users:(("varnishd",pid=24638,fd=10))
LISTEN 0 1024 [::]:80 [::]:* users:(("cache-main",pid=24652,fd=5),("varnishd",pid=24638,fd=5))
LISTEN 0 1024 [::1]:8443 [::]:* users:(("cache-main",pid=24652,fd=6),("varnishd",pid=24638,fd=6))

Xác minh bộ đệm Varnish​

Lúc này, bộ đệm Varnish đã được cài đặt và đang chạy. 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 đầu ra sau:
Mã:
HTTP/1.1 200 OK
Date: Fri, 30 Dec 2022 05:33:00 GMT
Server: Apache/2.4.54 (Debian)
Last-Modified: Fri, 30 Dec 2022 04:42:33 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/7.0)
ETag: W/"29cd-5f1043adffc4c-gzip"
Accept-Ranges: bytes
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 Debian 11. Bây giờ bạn có thể sử dụng Varnish cache làm máy chủ front-end để 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