Varnish cache là một bộ tăng tốc cache miễn phí và mã nguồn mở được sử dụng để tăng tốc trang web của bạn bằng cách lưu trữ nội dung trong bộ nhớ đệm. Nó cực kỳ nhanh và giảm thời gian tải trang, giúp cải thiện SERP của bạn và trải nghiệm người dùng. Nó được nhiều tổ chức sử dụng, bao gồm Facebook, Twitter và Wikipedia. Varnish nằm giữa Nginx và các máy khách nhận yêu cầu từ máy khách và chuyển tiếp chúng đến phần phụ trợ. Điều này sẽ cải thiện hiệu suất máy chủ web vì Varnish sẽ phục vụ nội dung từ bộ nhớ.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt Varnish 7 trước Nginx trên Rocky Linux 8.
Bạn sẽ thấy thông báo sau đầu ra:
Tiếp theo, cài đặt kho lưu trữ EPEL bằng lệnh sau:
Tiếp theo, thêm kho lưu trữ Varnish Cache 7 vào hệ thống của bạn bằng lệnh sau:
Sau khi kho lưu trữ được thêm vào, hãy cài đặt Varnish 7 bằng lệnh sau:
Sau khi cài đặt thành công, hãy xác minh thông tin về Varnish bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Bạn có thể kiểm tra trạng thái của Varnish bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Thay đổi cổng 6081 thành 80 như hiển thị bên dưới:
Lưu và đóng tệp, sau đó tải lại daemon systemd để áp dụng các thay đổi:
Tiếp theo, khởi động lại dịch vụ Varnish để áp dụng các thay đổi:
Tiếp theo, xác minh cổng lắng nghe Varnish bằng lệnh sau:
Bạn sẽ thấy cổng lắng nghe Varnish trong đầu ra sau:
Sau khi cài đặt Nginx, bạn sẽ cần chỉnh sửa tệp cấu hình Nginx và thay đổi cổng lắng nghe mặc định của Nginx từ 80 thành 8080.
Chỉnh sửa tệp cấu hình chính của Nginx bằng lệnh sau:
Tìm các dòng sau:
Và thay thế chúng bằng các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất, sau đó khởi động dịch vụ Nginx để áp dụng các thay đổi:
Bạn cũng có thể kiểm tra trạng thái Nginx bằng lệnh sau:
Bạn sẽ nhận được đầu ra sau:
Chạy lệnh sau để xác minh bộ đệm Varnish:
Nếu mọi thứ đều ổn, bạn sẽ nhận được kết quả sau:
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt Varnish 7 trước Nginx trên Rocky Linux 8.
Điều kiện tiên quyết
- Một máy chủ chạy Rocky Linux 8.
- Mật khẩu gốc được cấu hình trên máy chủ.
Cài đặt Varnish 7
Trước khi bắt đầu, bạn sẽ cần tắt các mô-đun Varnish hiện có khỏi hệ thống của mình. Bạn có thể vô hiệu hóa nó bằng cách chạy lệnh sau:
Mã:
dnf module disable varnish
Mã:
= ... Kích thước===================================================================================================================================================Vô hiệu hóa các mô-đun: vecniGiao dịch Tóm tắt=======================================================================================================================================Như vậy có ổn không [y/N]: yHoàn tất!
Mã:
dnf install epel-release -y
Mã:
curl -s https://packagecloud.io/install/repositories/varnishcache/varnish70/script.rpm.sh | bash
Mã:
dnf install varnish -y
Mã:
rpm -qi varnish
Mã:
Tên: varnishPhiên bản: 7.0.2Bản phát hành: 1.el8Kiến trúc: x86_64Ngày cài đặt: Chủ Nhật, ngày 13 tháng 2 năm 2022 06:24:35 sáng UTCNhóm: Môi trường hệ thống/DaemonKích thước: 8907085Giấy phép: BSDChữ ký: (không có)RPM nguồn: varnish-7.0.2-1.el8.src.rpmNgày xây dựng: Thứ Tư, ngày 12 tháng 1 năm 2022 02:25:34 chiều UTCMáy chủ xây dựng: 7fc509e75620Relocations: (không thể di chuyển)URL: https://www.varnish-cache.org/Tóm tắt: Bộ tăng tốc HTTP hiệu suất caoMô tả:Đây là Varnish Cache, một bộ tăng tốc HTTP hiệu suất cao.
Quản lý Dịch vụ Varnish
Sau khi cài đặt Varnish, hãy khởi động dịch vụ Varnish và cho phép nó khởi động khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start varnish
systemctl enable varnish
Mã:
systemctl status varnish
Mã:
? varnish.service - Varnish Cache, một trình tăng tốc HTTP hiệu suất cao Đã tải: đã tải (/usr/lib/systemd/system/varnish.service; đã tắt; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2022-02-13 06:24:56 UTC; 6 giây trước Tiến trình: 2555 ExecStart=/usr/sbin/varnishd -a :6081 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m (c> PID chính: 2556 (varnishd) Nhiệm vụ: 217 Bộ nhớ: 104,5M CGroup: /system.slice/varnish.service ??2556 /usr/sbin/varnishd -a :6081 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m ??2567 /usr/sbin/varnishd -a :6081 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m13/02 06:24:55 rockylinux systemd[1]: Đang khởi động Varnish Cache, một trình tăng tốc HTTP hiệu suất cao...13/02 06:24:55 rockylinux varnishd[2556]: Phiên bản: varnish-7.0.2 bản sửa đổi 9b5f68e19ca0ab60010641e305fd12822f18d42c13/02 06:24:55 rockylinux varnishd[2556]: Nền tảng: Linux,4.18.0-348.12.2.el8_5.x86_64,x86_64,-junix,-smalloc,-sdefault,-hcritbit13/02 06:24:55 rockylinux varnishd[2556]: Child (2567) Đã khởi động13/02 06:24:56 rockylinux varnishd[2556]: Child (2567) đã nói Child bắt đầu13 tháng 2 06:24:56 rockylinux systemd[1]: Đã bắt đầu Varnish Cache, một trình tăng tốc HTTP hiệu suất cao.
Cấu hình Varnish
Theo mặc định, Varnish lắng nghe trên cổng 6081. Ở đây, chúng ta sẽ sử dụng Varnish để chấp nhận các kết nối HTTP đến. Vì vậy, bạn sẽ cần cấu hình Varnish để lắng nghe trên cổng 80. Bạn có thể thực hiện bằng cách chỉnh sửa tệp /usr/lib/systemd/system/varnish.service:
Mã:
nano /usr/lib/systemd/system/varnish.service
Mã:
ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,2g
Mã:
systemctl daemon-reload
Mã:
systemctl restart varnish
Mã:
ss -antpl | grep varnish
Mã:
LISTEN 0 10 127.0.0.1:46093 0.0.0.0:* users:(("varnishd",pid=2819,fd=13))LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("cache-main",pid=2830,fd=6),("varnishd",pid=2819,fd=6))LISTEN 0 128 127.0.0.1:8443 0.0.0.0:* users:(("cache-main",pid=2830,fd=9),("varnishd",pid=2819,fd=9))LISTEN 0 10 [::1]:33963 [::]:* users:(("varnishd",pid=2819,fd=12))LISTEN 0 128 [::]:80 [::]:* users:(("cache-main",pid=2830,fd=7),("varnishd",pid=2819,fd=7))LISTEN 0 128 [::1]:8443 [::]:* users:(("cache-main",pid=2830,fd=8),("varnishd",pid=2819,fd=8))
Cấu hình Nginx để làm việc với Varnish
Trong phần này, chúng ta sẽ cài đặt Nginx và cấu hình để làm việc với Varnish. Trước tiên, hãy cài đặt gói Nginx bằng lệnh sau:
Mã:
dnf install nginx -y
Chỉnh sửa tệp cấu hình chính của Nginx bằng lệnh sau:
Mã:
nano /etc/nginx/nginx.conf
Mã:
listen 80 default_server; listen [::]:80 default_server;
Mã:
listen 8080 default_server; listen [::]:8080 default_server;
Mã:
systemctl start nginx
Mã:
systemctl status nginx
Mã:
? nginx.service - Máy chủ proxy ngược và HTTP nginx Đã tải: đã tải (/usr/lib/systemd/system/nginx.service; đã tắt; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2022-02-13 06:29:02 UTC; 8 giây trước Tiến trình: 5627 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Tiến trình: 5626 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Tiến trình: 5624 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) PID chính: 5629 (nginx) Nhiệm vụ: 2 (giới hạn: 11412) Bộ nhớ: 6,7M CGroup: /system.slice/nginx.service ??5629 nginx: tiến trình chính /usr/sbin/nginx ??5630 nginx: tiến trình công nhân13/02 06:29:02 rockylinux systemd[1]: Đang khởi động máy chủ proxy ngược và HTTP nginx...Tháng 2 13 06:29:02 rockylinux nginx[5626]: nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là ok13/02 06:29:02 rockylinux nginx[5626]: nginx: thử nghiệm tệp cấu hình /etc/nginx/nginx.conf thành công13/02 06:29:02 rockylinux systemd[1]: nginx.service: Không phân tích được PID từ tệp /run/nginx.pid: Đối số không hợp lệ13/02 06:29:02 rockylinux systemd[1]: Đã khởi động máy chủ proxy ngược và HTTP nginx.
Xác minh Varnish Cache
Tại thời điểm này, Varnish đã được cài đặt và cấu hình với máy chủ web Nginx. Bây giờ, đã đến lúc kiểm tra bộ đệm Varnish.Chạy lệnh sau để xác minh bộ đệm Varnish:
Mã:
curl -I http://your-server-ip
Mã:
HTTP/1.1 200 OKMáy chủ: nginx/1.14.1Ngày: CN, 13/02/2022 06:30:06 GMTContent-Type: text/htmlContent-Length: 3429Last-Modified: Thu, 10/06/2021 09:09:03 GMTETag: "60c1d6af-d65"X-Varnish: 2Tuổi: 0Via: 1.1 varnish (Varnish/7.0)Accept-Ranges: bytesConnection: keep-alive