Cấu hình Varnish Cache 6 cho Nginx trên CentOS 7

Trong bài trước mình đã giới thiệu cách cài Varnish 6.2 trên CentOS 7,  trong bài này mình sẽ thử cấu hình varnish cache 6 cho Nginx nhé. Sau khi cấu hình xong Varnish sẽ làm reserve HTTP proxy cho Nginx theo mô hình sau.

Mô hình hoạt động của varnish cache

Reserve Proxy là gì?

Reserve Proxy, còn được gọi là Reserve HTTP proxy, là dịch vụ nằm giữa client và webserver.

Chức năng của Reserve Proxy là:

  • Tăng tốc độ website 
  • Làm bộ đệm cho website 
  • Cân bằng tải.
  • Tăng bảo mật.

Cấu hình Varnish Cache 6 cho Nginx

Chuẩn bị

  1. Một VPS đã cài đầy đủ các thành phần như Nginx, PHP….và mình thường dùng VPSSIM để cài toàn bộ các thành phần trên cho nhanh. VPS các bạn có thể mua ở Vultr, Digital Ocean, Azdigi… tùy ý nhé.
  2.  Tên miền tenmien2019.ml để làm demo đã cài sẵn wordpress cũng bằng VPSSIM. Đừng quên trỏ tên miền về ip của VPS nha.

Cấu hình Nginx

Mặc định thì Nginx hoạt động trên port 80 và bạn có thể kiểm tra bằng lệnh sau

netstat -ntlup
Cổng Nginx

Lúc này bạn cần cấu hình để Nginx hoạt động trên port 8080. Vì mình dùng VPSSIM cài Nginx nên bạn mở 2 file sau lên:

  • tenmien2019.ml.conf
  • vpssim.demo.conf

bằng lệnh

nano /etc/nginx/conf.d/tenmien2019.ml.conf
nano /etc/nginx/conf.d/vpssim.demo.conf

tìm tới dòng listen 80 đổi thành listen 8080 và lưu lại (Ctrl + o)cả 2 file trên rồi thoát trình chỉnh sửa bằng Ctrl +x.

Khởi động lại Ngixn:

service nginx reload

Kiểm tra lại port của Nginx đã chính xác chưa nhé.

netstat -ntlup
nginx-tren-port-8080

Nginx không còn listen trên port 80 nữa là Ok nhé.

Lưu ý: Nếu bạn kiểm tra mà vẫn thấy Nginx còn họat động trên port 80 thì bạn vẫn hãy xem lại các file cấu hình Nginx nhé, bởi nếu ở bước này mà nginx vẫn còn listen trên port 80 thì bạn sẽ không cấu hình được Varnish hoạt động đâu nhé.

Cấu hình Varnish

Vì Varnish sẽ hoạt động như một Reserve HTTP proxy nên bạn cần cấu hình để Varnish hoạt động trên port 80 nhé.

Mở trình chỉnh sửa file varnish.service bằng lệnh sau:

nano /usr/lib/systemd/system/varnish.service

Tìm tới dòng sau

ExecStart=/usr/sbin/varnishd -a :6081 -f /etc/varnish/default.vcl -s malloc,256m

Và đổi port 6081 thành 80. Lúc này ta sẽ có

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Sau khi sửa xong bạn thoát ra và khởi động Varnish bằng lệnh

service varnish start

Kiểm tra trạng thái của Varnish bằng lệnh

service varnish status
kiem tra trang thai varnish

Ok như thế là Nginx và Varnish đã hoạt động suôn sẻ và chưa thấy lỗi gì, lúc này bạn có thể kiểm tra lại port của Varnish và Nginx.

kiem-tra-port-nginx-va-varnish

Lúc này để kiểm tra xem Varnish đã thực sự hoạt đông chưa bạn có thể kiểm tra header của domain bằng lệnh:

wget -SS tenmien2019.ml
kiem tra header ten mien

Bạn sẽ nhìn thấy các thông số như:

X-Varnish: 65556 65554
Via: 1.1 varnish (Varnish/6.2)

Tức là Varnish đã và đang hoạt động.

0 0 votes
Đánh giá bài viết
Đăng kí
Thông báo khi
guest

7 Comments
cũ nhất
mới nhất
Inline Feedbacks
View all comments
namit
namit
Khách
18/06/2019 1:21 pm

mình sửa file conf rồi mà port vẫn không đôi nhỉ.

Ngọc Đức
Ngọc Đức
Khách
12/10/2019 10:36 pm

Cài varnish rồi có cần cài thêm plugin cache nào nữa không ạ? Vd như wp rocket hay cache enabler,…?

Thái
Thái
Khách
Reply to  Hồng Sơn
31/10/2019 8:15 pm

Nếu vps chạy nhiều site thì có cài varnish cache được không ạ?

nam
nam
Khách
26/11/2019 1:48 pm

da co cach cai voi https chua ad