Cài đặt Nginx và Varnish làm Proxy Apache trên Sentora

Từ 1/6, các bạn download theme hoặc plugin tại trang https://sharecode.pro nhé

Nginx và Varnish làm Proxy Apache – Sự kết hợp hoàn hảo cho Sentora

Tại sao lại là sự hoàn hảo?

Sentora khi mới cài xong nó rất yếu, khả năng chịu tải không cao, chạy ngốn RAM – điểm yếu của apache so với nginx. Cần được tối ưu lại khá nhiều từ php đến mysql cũng như là hệ thống cache.

NGINX là một webserver mới với nhiều ưu điểm về tốc độ xử lý, cũng như là độ chiếm dụng tài nguyên ít hơn, tuy nhiên vẫn không có được một số cái ưu việt mà chỉ apache mới có (ví dụ: .htaccess)

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ó trafic 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.

Với những lý do như trên, hôm nay mình xin hướng dẫn cách kết hợp Varnish + Nginx làm FrontEnd chịu tải cho Apache – Cái kiểu này giống với cấu hình tối ưu nhất của CWP các bạn nhỉ.

Lưu ý: Áp dụng cho Sentora cài trên Centos 7 64bit – PHP 5.6/7.0 – Mariadb 10.1

Mô hình cài đặt Nginx và Varnish làm Proxy Apache

NginX and Varnish with Apache

1. Đổi port Apache 

Để cài nginx làm proxy cho Sentora chúng ta cần đổi port mặc định của Apache.

Chúng ta chạy lệnh bên dưới để đổi port apache thành port 8080 (port backend của nginx):

Để chắc ăn hơn, chúng ta vào /etc/sentora/configs/apache rồi mở file httpd-vhosts.conf lên, sửa toàn bộ port 80 thành port 8080

2. Cài đặt Nginx Proxy cho sentora

Cài đặt nginx:

Cấu hình nginx proxy

Sau khi cài xong, chúng ta sẽ cấu hình nginx làm proxy cho sentora. Chúng ta chạy lệnh sau:  nano /etc/nginx/nginx.conf

Sau đó xóa hết code trong đó. Rồi thêm đoạn code bên dưới vào

Sau khi nhập xong thì nhấn Ctrl + O để save lại và Ctrl + X để đóng file

Ở bài nginx làm proxy cho apache mình set port listern của nginx là 80 vì nó làm FrontEnd, nhưng lần này ta nginx sẽ đúng ở giữa, nên sẽ set nó port 8081 nhé

3. Cài đặt Varnish 4

Lệnh cài đặt varnish cache:

Cấu hình Varnish Cache

Bạn dùng lệnh  sudo nano /etc/varnish/varnish.params

Sửa  VARNISH_LISTEN_PORT=6081 thành VARNISH_LISTEN_PORT=80  Ctrl + O để save lại và Ctrl + X để đóng file

Tiếp theo là sửa file default.vcl. Bạn dùng lệnh  sudo nano /etc/varnish/default.vcl

Sau đó sửa các thông số như bên dưới nhé:

Cuối cùng là khởi động lại các service và set khởi động chung với hệ thống

Như vậy chúng ta đã thiết lập xong Nginx và Varnish làm Proxy Apache trên Sentora. Server của bạn sẽ chịu tải cao hơn, và chạy nhẹ nhàng hơn

Lưu ý: Ram ít nhất 1GB trở mới chơi cái này được nha, vì cái này chủ yếu sử dụng RAM làm nơi lưu dữ liệu, RAM yếu là chết server sớm đó

Tham khảo thêm: Hướng dẫn cài đặt Varnish cho Nginx/Apache trên CentOS/Ubuntu

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

Từ 1/6, các bạn download theme hoặc plugin tại trang https://sharecode.pro nhé