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.
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.
Tìm mục sau dòng:
Và thay thế bằng dòng sau:
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:
Tìm dòng sau:
Và thay thế bằng dòng sau dòng:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Apache để áp dụng các thay đổi:
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:
Bạn sẽ thấy đầu ra sau:
Đầu tiên, cài đặt các phụ thuộc cần thiết bằng lệnh sau:
Tiếp theo, thêm khóa GPG Varnish bằng lệnh sau:
Tiếp theo, tạo nguồn Varnish tệp:
Thêm dòng sau:
Lưu và đóng tệp sau đó tạo cấu hình khác tệp:
Thêm các dòng sau:
Lưu và đóng tệp sau đó cập nhật bộ đệm kho lưu trữ bằng lệnh sau lệnh:
Tiếp theo, cài đặt Varnish Cache bằng lệnh sau:
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ủ:
Thay đổi các dòng sau theo máy chủ phụ trợ của bạn:
Lưu và đóng tệp khi bạn hoàn tất.
Thêm các dòng sau:
Lưu và đóng tệp, sau đó tải lại daemon systemd bằng lệnh sau lệnh:
Tiếp theo, khởi động lại dịch vụ Varnish bằng lệnh sau:
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:
Bạn sẽ nhận được kết quả sau:
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:
Bạn sẽ nhận được thông báo sau đầu ra:
Bạn sẽ nhận được bộ đệm Varnish trong phần sau output:
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
Mã:
nano /etc/apache2/ports.conf
Mã:
Listen 80
Mã:
Listen 8080
Mã:
nano /etc/apache2/sites-available/000-default.conf
Mã:
Mã:
Mã:
systemctl restart apache2
Mã:
ss -antpl | grep 8080
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
Mã:
curl -fsSL https://packagecloud.io/varnishcache/varnish70/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/varnish.gpg
Mã:
nano /etc/apt/sources.list.d/varnishcache_varnish70.list
Mã:
deb https://packagecloud.io/varnishcache/varnish70/ubuntu/ focal main
deb-src https://packagecloud.io/varnishcache/varnish70/ubuntu/ focal main
Mã:
nano /etc/apt/preferences.d/varnish
Mã:
Package: varnish
Pin: origin packagecloud.io
Pin-Priority: 900
Mã:
apt update
Mã:
apt install varnish -y
Mã:
nano /etc/varnish/default.vcl
Mã:
backend default { .host = "127.0.0.1"; .port = "8080";
}
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
Mã:
[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m
Mã:
systemctl daemon-reload
Mã:
systemctl restart varnish
Mã:
systemctl status varnish
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.
Mã:
ss -antpl | grep :80
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/
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