Cài đặt và cấu hình Varnish cho VestaCP

4
497

Trong bài viết này mình sẽ hướng dẫn bạn cách cài đặt và sử dụng Varnish với VestaCP, mặc định dùng LAMP và Nginx (front-end proxy). Bài sau mình sẽ hướng dẫn cấu hình Varnish cho wordpress.

varnish-cache

 

Varnish là một hệ thống cache được dùng để tăng tốc server, đặc biệt là với những hệ thống lớn, có traffic nhiều. Varnish hoạt động bằng cách cache nội dung page lên bộ nhớ RAM và ngay lập tức trả lại cho người dùng khi có yêu cầu mà không phải thông qua PHP hay MySQL xử lý.

Do sử dụng Memory để cache nên tốc độ truy xuất sẽ nhanh hơn rất nhiều so với Disk truyền thống, kể cả SSD. Bạn thử tưởng tượng với những website có lượng lớn dữ liệu, phương pháp cache thông thường sẽ tạo ra hàng vạn file .html trên ổ cứng, lúc đó PHP hoặc Nginx xử lý sẽ cực kỳ vất vả, tốn tài nguyên.

Varnish hoạt động rất tốt với những website có dữ liệu lớn, một số website lớn trên thế giới đang áp dụng Varnish như Wikipedia, The New York Times, The Guardian, Facebook, Twitter, Vimeo, Loc Dang

Một số nhà cung cấp shared hosting cũng hỗ trợ sẵn Varnish như StableHost, SiteGround (chỉ những gói cao cấp). Nếu không muốn cài đặt vất vả, bạn có thể sử dụng luôn hosting ở đây.

Quá trình cài đặt và cấu hình Varnish Cache khá phức tạp, tuy nhiên điều này rất đáng để thử vì sau khi hoàn thành, website của bạn chắc chắn load vù vù cho coi.

Yêu cầu cần có:

Bạn cần chuẩn bị :

  1. Kết nối SSH client với Putty hoặc ZOC
  2. VPS cấu hình : RAM tối tiểu 512MB ( khuyên dùng 1GB ).
  3. Xác định được VPS mình đang chạy trong một trong những OS này: RHEL 5/6, CentOS 5/6, Debian 7 or Ubuntu 12.04/12.10/13.04/13.10/14.04.
  4. Một ly cà phê 😀

I – Cài đặt và cấu hình VestaCP cho VPS

Tất nhiên là không thể thiếu bước này được rồi đúng không? Ở bài trước trước mình đã có 1 bài viết hướng dẫn cài đặt vestacp cho VPS, nên bài viết này mình sẽ không nhắc lại nữa nhé.

Lưu ý: bạn nên cài đặt và cấu hình từ A đến Z cho VPS của bạn thì hãy thực hiện phần II nhé.

II – Cài đặt và cấu hình Varnish cho VestaCP

Bước 1:

Bạn vào trang web https://www.varnish-cache.org/releases để kiểm tra và cài đặt phiên bản mới nhất, phù hợp với OS của bạn

varnish-version

Bài viết này mình sẽ hướng dẫn cài đặt Varnish 4.1.3

Bước 2:

Bạn truy VPS bằng SSH client. Câu lệnh để thêm Varnish là :

2015-07-19_221539-620x91

Bước 3:

Cài đặt Varnish cho VPS của bạn bằng câu lệnh sau :

2015-07-19_221720-620x422

Vậy là đã cài đặt varnish xong, nhưng service varnish chưa chạy đâu nhé.

II – Cấu hình Varnish cho VestaCP

Bước 1:

Chúng ta phải cấu hình cho Varnish để chạy trên port 80. Thông thường thì : Varnish sẽ chạy trên port 80, Nginx chạy trên port 8082 và Apache chạy trên port 8080.

Web request = Varnish (80) -> Nginx (8082) -> Apache (8080)

Tiếp theo, bạn cần phải edit để cấu hình cho Varnish với câu lệnh sau bên dưới

Bước 2:

Thay đổi một số thông tin quan trọng như: VARNISH_LISTEN_PORT đổi sang port 80.

2015-07-19_223011

Kéo xuống dưới và tìm đến dòng VARNISH_STORAGE_SIZE. Vì VPS của mình có RAM là 512MB nên mình chỉ cho phép lữu trữ file cached là 256MB.

2015-07-19_223713

Sau đó lưu lại bằng cách nhấn Ctrl+O và thoát bằng Ctrl+X.

Bước 3

Cấu hình file Varnish /etc/varnish/. Việc cấu hình này giúp cho varnish tìm được nội dung trên webserver. Câu lệnh bên dưới :

Bạn sẽ phải :

  1. Đổi .host ip từ 127.0.0.1 sang IP public của bạn (IP VPS)
  2. Đổi .port từ 80 sang port 8082 để Nginx có thể lắng nghe được.

2015-07-19_235715

III – Cấu hình cho Nginx

Bước 1

Cấu hình cho IP public của bạn bằng cách edit file xxx.xxx.xxx.xxx.conf. Cấu lệnh bên dưới

2015-07-19_230500

Lưu ý: xxx.xxx.xxx là IP Public của bạn.

2015-07-19_230820

Bước 2

Thay đổi port 80 thành 8082 như hình bên dưới

2015-07-19_230921

Lưu lại các thay đổi bằng cách Crtl+O, sau đó Ctrl+X để thoát khỏi file.

Bước 3

Chúng ta cũng edit file vesta.conf tại đường dẫn /usr/local/vesta/conf/ bằng câu lệnh dưới

Thay đổi PROXY_PORT từ 80 thành 8082

2015-07-19_231405

Lưu lại thay đổi và thoát bằng Ctrl+O và Ctrl+X

Bước 4

Tiếp theo, bạn cũng sẽ phải edit lại file nginx.conf với đường dẫn /home/user/conf/web.  Ở bước này bạn phải chú ý, nếu VestaCP của bạn có nhiều user thì bạn phải edit file nginx.conf đó cho mỗi user. Trong ví dụ này, mình dùng cho user là admin và edit file nginx.conf. Câu lệnh :

Một lân nữa, bạn sẽ thay port 80 thành 8082 để nginx có thể lắng nghe được port này. Ví dụ như trong hình :

2015-07-19_232126

IV – Cấu hình Firewal trên giao diện quản lý VestaCP

Mở trình duyệt web yêu thích của bạn lên, đăng nhập và trang quản trị VestaCP bằng quyền admin. Sau đó nhấn vào Firewall ở thanh menu trên cùng của trang.

2015-07-19_232534

Nhấn Edit của dòng /WEB

2015-07-19_232648-620x112

Tiếp theo, thêm port 8082 và nhấn nút Save để lưu lại thay đổi.

2015-07-19_232813

V – Kiểm tra

Trước khi kiểm tra, bạn cần restart lại 2 service Nginx và Varnish Cached bằng câu lệnh bên dưới :

2015-07-19_233019

Sau đó, bạn hãy truy cập vào trang web của mình.

Để biết được Varnish có đang hoạt động hay không bạn sử dụng lệnh bên dưới:

Lần đầu tiên chạy, để ý dòng X-Varnish bạn sẽ thấy một số, ví dụ:

hoặc X-Cache: MISS

Sử dụng lệnh bên trên lần thứ 2, nếu thấy xuất hiện 2 số tức là Varnish đã hoạt động rồi đó, ví dụ:

hoặc X-Cache: HIT

Ngoài ra, bạn cũng có thể sử dụng 2 công cụ:

  1. varnishlog: xem Varnish logsreal time
  2. varnishstat: hiển thị tình trạng cache Varnish

Chúc bạn  thành công!

Cài đặt và cấu hình Varnish cho VestaCP
4.5 (90%) 2 votes

Nếu yêu thích LocDang.Com thì hãy đăng ký theo dõi để nhận tin tức mới nhất và đừng quên Like và Follow mình trên Facebook Twitter nhé.
Để lại ý kiến nhận xét tại đây !!

Có 4 bình luận cho bài viết này

    • Xin chào, khách