Cách cài đặt Varnish 7 cho Nginx trên Rocky Linux 8

theanh

Administrator
Nhân viên
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.

Đ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
Bạn sẽ thấy thông báo sau đầu ra:
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!
Tiếp theo, cài đặt kho lưu trữ EPEL bằng lệnh sau:
Mã:
dnf install epel-release -y
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:
Mã:
curl -s https://packagecloud.io/install/repositories/varnishcache/varnish70/script.rpm.sh | bash
Sau khi kho lưu trữ được thêm vào, hãy cài đặt Varnish 7 bằng lệnh sau:
Mã:
dnf install varnish -y
Sau khi cài đặt thành công, hãy xác minh thông tin về Varnish bằng lệnh sau:
Mã:
rpm -qi varnish
Bạn sẽ thấy đầu ra sau:
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
Bạn có thể kiểm tra trạng thái của Varnish bằng lệnh sau:
Mã:
systemctl status varnish
Bạn sẽ nhận được kết quả sau:
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
Thay đổi cổng 6081 thành 80 như hiển thị bên dưới:
Mã:
ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,2g
Lưu và đóng tệp, sau đó tải lại daemon systemd để áp dụng các thay đổi:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động lại dịch vụ Varnish để áp dụng các thay đổi:
Mã:
systemctl restart varnish
Tiếp theo, xác minh cổng lắng nghe Varnish bằng lệnh sau:
Mã:
ss -antpl | grep varnish
Bạn sẽ thấy cổng lắng nghe Varnish trong đầu ra sau:
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
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:
Mã:
nano /etc/nginx/nginx.conf
Tìm các dòng sau:
Mã:
listen 80 default_server; listen [::]:80 default_server;
Và thay thế chúng bằng các dòng sau:
Mã:
listen 8080 default_server; listen [::]:8080 default_server;
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:
Mã:
systemctl start nginx
Bạn cũng có thể kiểm tra trạng thái Nginx bằng lệnh sau:
Mã:
systemctl status nginx
Bạn sẽ nhận được đầu ra sau:
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
Nếu mọi thứ đều ổn, bạn sẽ nhận được kết quả sau:
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

Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công Varnish với Nginx trên Rocky Linux 8. Bây giờ bạn có thể triển khai Varnish trong môi trường sản xuất để tăng tốc hiệu suất trang web của mình. 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