Hướng dẫn reverse-proxy NGINX + Apache trên Directadmin

Như các bạn cũng đã biết là Apache là một Open Source Webserver phổ biến nhất hiện nay bởi vì có rất nhiều software tuyệt vời hỗ trợ cho nó như cPanel, DirectAdmin,…điều mà NGINX chưa có. Số lượng người dùng cũng rất đông đảo và hầu như 90% shared host sử dụng Apache. Trong WordPress, nếu bạn sử dụng Apache thì cũng sẽ có lợi hơn vì toàn bộ các plugin có yêu cầu bạn sửa đổi file cấu hình của Webserver đều hoạt động rất tốt trên Apache, cụ thể hơn là các plugin đó yêu cầu bạn sửa file .htaccess.
Hướng dẫn reverse-proxy NGINX + Apache trên Directadmin
Tuy nhiên nhược điểm của Apache là kém linh hoạt, xử lý hơi chậm và quan trọng nhất là chiếm khá nhiều bộ nhớ mỗi khi xử lý bất kỳ dữ liệu nào, dù nó là tĩnh hay động.

Và rồi, chúng ta đến với NGINX như một giải pháp thay thế cho Apache vì NGINX xử lý nhanh hơn, linh hoạt hơn (sử dụng trong nhiều mục đích khác nhau) và nhẹ hơn Apache rất nhiều. Cách cấu hình của NGINX cũng gọn gàng và đơn giản hơn.

Nhưng có một vấn đề là nếu bạn sử dụng NGINX như một Webserver chính để xử lý các dữ liệu PHP thì đôi lúc nó sẽ hoạt động không đúng như ý muốn, mà nói đơn giản hơn là nếu bạn dùng trong WordPress thì sẽ phải cần khả năng tự cấu hình rất nhiều, điều này không mấy dễ chịu cho newbie.

May mắn thay, bản thân NGINX rất đa nhiệm nên chúng ta có thể sử dụng nó đồng hành cùng với Apache mà không gây ảnh hưởng gì, thậm chí bạn còn tiết kiệm được nhiều tài nguyên hơn, website tải nhanh hơn nữa. Một kỹ thuật thông dụng nhất để sử dụng NGINX cùng với Apache là làm proxy trung gian để gửi dữ liệu đã xử lý thông qua Apache đến trình duyệt của người dùng. Nếu bạn nào đã và đang lập trình Ruby cho việc làm web thì chắc chắn sẽ biết NGINX còn được sử dụng để làm proxy cho Passenger, Unicorn hay THIN.

Ở đây, chúng ta sẽ sử dụng Apache để xử lý PHP thông qua module mod_php của nó, còn NGINX sẽ có nhiệm vụ đọc dữ liệu nhận được, xử lý các file tĩnh, cache (NGINX làm rất tốt trong việc xử lý cache).

Custombuild 2.0 cho phép người dùng dễ dàng cài đặt reverse-proxy Nginx + Apache mà không cần phải sử dụng bất kì kịch bản của bên thứ 3. Hãy chắc chắn rằng bạn đang sử dụng Custombuild 2.0.

1. Kiểm tra phiên bản của Custombuild

cd /usr/local/directadmin/custombuild
./build version

Nếu bạn đang dùng custombuild 1.x bạn vui lòng nâng cấp lên 2.x nhé (xem bài viết sau)

2. Kiểm tra version DirectAdmin

/usr/local/directadmin/directadmin v

Hãy chắc chắn rằng bạn phải sử dụng version Directadmin không được thấp hơn 1.45.2 nhé

3. Custombuild 2.x NGINX + Apache

Dưới đây là lệnh để build nginx + apache với custombuild:

cd /usr/local/directadmin/custombuild

./build update
./build update_da
./build set webserver nginx_apache
./build nginx_apache
./build rewrite_confs

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