Nếu website trên VPS DirectAdmin của bạn bắt đầu tải chậm dù đã tối ưu code, có lẽ đã đến lúc bổ sung một lớp “bộ nhớ đệm” cho hệ thống. Memcached chính là giải pháp nhẹ, dễ cài và cực kỳ hiệu quả cho việc này. Dù hiện nay nhiều người chuyển sang Redis, vẫn còn không ít mã nguồn cũ chỉ chạy tốt với Memcached — và bài viết này sẽ hướng dẫn bạn cài đặt hoàn chỉnh Memcached trên DirectAdmin (môi trường AlmaLinux 8) chỉ trong vài phút.
Điều kiện chuẩn bị
Trước khi bắt tay vào, hãy đảm bảo VPS của bạn đáp ứng các yêu cầu sau:
- DirectAdmin phiên bản 1.62.4 trở lên.
- Hệ điều hành AlmaLinux 8 (họ RHEL).
- Quyền root SSH để chạy các lệnh cài đặt.
Memcached sẽ lưu tạm dữ liệu vào RAM, vì vậy VPS nên có RAM dư dả một chút (tối thiểu 2 GB là thoải mái).

Bước 1 — Cài đặt Memcached và khởi chạy dịch vụ
Trên AlmaLinux, Memcached có sẵn trong kho phần mềm mặc định nên bạn chỉ cần một lệnh:
dnf install memcached -y
systemctl start memcached
systemctl enable memcached
Lệnh systemctl enable giúp Memcached tự khởi động lại mỗi khi VPS reboot, tránh tình trạng website mất cache sau khi khởi động lại máy chủ.
Bước 2 — Cài đặt thư viện libmemcached-devel
Thư viện này cần thiết để PHP có thể biên dịch extension Memcached:
dnf --enablerepo=powertools install libmemcached-devel
Nếu kho powertools chưa được bật trên AlmaLinux 8, bạn cần kích hoạt nó trước — đây là kho chứa nhiều gói phát triển quan trọng cho các bản RHEL 8.
Bước 3 — Cài PHP extension Memcached cho DirectAdmin
Cách cài extension PHP trên DirectAdmin khác với cài PHP thông thường, vì DirectAdmin biên dịch PHP riêng. May mắn là cộng đồng đã có sẵn script hỗ trợ:
cd /usr/local/directadmin/scripts/custom
wget https://raw.githubusercontent.com/poralix/directadmin-utils/master/php/php-extension.sh -O php-extension.sh
chmod 750 php-extension.sh
./php-extension.sh install memcached
Script sẽ tự động biên dịch và gắn extension Memcached vào đúng phiên bản PHP mà DirectAdmin đang dùng. Sau khi chạy xong, bạn có thể kiểm tra bằng lệnh php -m | grep memcached — nếu thấy dòng memcached là thành công.
Bước 4 — Khóa Memcached chỉ nghe localhost để bảo mật
Memcached mặc định cho phép kết nối từ bên ngoài — đây là một lỗ hổng bảo mật khá nghiêm trọng, vì bất kỳ ai cũng có thể đọc/ghi cache của bạn. Hãy giới hạn nó chỉ lắng nghe trên máy chủ nội bộ:
nano /etc/sysconfig/memcached
Sửa nội dung file như sau:
PORT="11211"
USER="memcached"
# max connection 2048
MAXCONN="2048"
# set ram size to 4096 - 4GiB
CACHESIZE="4096"
# disable UDP and listen to loopback ip 127.0.0.1
OPTIONS="-U 0 -l 127.0.0.1"
Điểm mấu chốt nằm ở dòng OPTIONS="-U 0 -l 127.0.0.1": tắt giao thức UDP (-U 0) và chỉ cho phép kết nối qua địa chỉ loopback 127.0.0.1. Bạn có thể tăng CACHESIZE nếu RAM dư dả. Lưu file (Ctrl + O, Enter, Ctrl + X) rồi khởi động lại dịch vụ:
systemctl restart memcached
Một số lưu ý khi dùng Memcached
Dung lượng RAM dành cho cache
Memcached lưu toàn bộ dữ liệu trong RAM, nên CACHESIZE không nên vượt quá 25–30% tổng RAM của VPS để tránh tranh chấp bộ nhớ với MySQL, PHP và các dịch vụ khác.
Memcached hay Redis?
Nếu dự án của bạn là mã nguồn mới và cần các cấu trúc dữ liệu phức tạp (queue, pub/sub, persistence), Redis là lựa chọn hiện đại hơn. Còn với các mã nguồn cũ chỉ hỗ trợ Memcached, hoặc khi bạn cần một cache đơn giản, tốc độ cao, ít tốn tài nguyên — Memcached vẫn hoàn toàn đáng dùng.
Vậy là xong! Chỉ với 4 bước, VPS DirectAdmin của bạn đã có thêm một lớp cache RAM giúp giảm tải database và tăng tốc website đáng kể. Chúc bạn cài đặt thành công!
👉 Cần VPS để thực hành? Đăng ký VPS BNIX tại đây
- 🏢 Chuyên thiết kế web cho doanh nghiệp và cá nhân
- 🤖 Giải pháp tự động hóa cho Doanh nghiệp và cá nhân
- 📞 0925045760
- 🌐 thietkewebdian.com
