Cài đặt Memcached cho DirectAdmin trên AlmaLinux 8: tăng tốc website chỉ với vài lệnh

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).

Cài đặt Memcached cho DirectAdmin trên AlmaLinux 8: tăng tốc website chỉ với vài lệnh

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
5/5 - (53 bình chọn)
Đăng ký
Thông báo về
guest
0 Bình Luận
Oldest
Newest Most Voted
Inline Feedbacks
Xem tất cả
0
Rất thích suy nghĩ của bạn, hãy bình luận.x
()
x