close

Hướng dẫn cài Memcached cho Direct Admin.

Tác giả: TinoHost Ngày cập nhật: 23/09/2019 Chuyên mục:
Disclosure
Website Wiki.tino.org được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Wiki.tino.org có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Wiki.tino.org sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại wiki.tino.org được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

Hiện tại thì Memcached module hỗ trợ 2 Version và mỗi version này sẽ hỗ trợ cho các loại phiên bản PHP khác nhau như sau :

php-memcached 3.x:
- Supports PHP 7.0 - 7.1.
- Requires libmemcached 1.x or higher.
- Optionally supports igbinary 2.0 or higher.
- Optionally supports msgpack 2.0 or higher.
php-memcached 2.x:
- Supports PHP 5.2 - 5.6.
- Requires libmemcached 0.44 or higher.
- Optionally supports igbinary 1.0 or higher.
- Optionally supports msgpack 0.5 or higher.

Cho nên để hỗ trợ cho PHP 7 thì bạn phải cài Memcached 3 và ngược lại, điều kiện cần nữa là bạn phải có bộ thư viện cho Memcached là libmemcached.

Bài viết này sẽ hướng dẫn cài trên Memcached Version 3.

memcached download: https://pecl.php.net/package/memcached
libmemcached download: https://launchpad.net/libmemcached/+download
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
wget https://pecl.php.net/get/memcached-3.0.4.tgz

Bước 2: Cài đặt Libmemcached

gunzip libmemcached-1.0.18.tar.gz
tar -xvf libmemcached-1.0.18.tar
cd libmemcached-1.0.18
./configure
make && make install

Bước 3: Cài đặt Memcached module

tar -xvzf memcached-3.0.4.tgz
cd memcached-3.0.4
phpize
./configure
make && make install

Sau khi cài đặt xong bạn sẽ thấy thông báo có đính kèm liên kết đến thư mục chưa file của memcached module dạng như sau:

Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20160303/

Bước 4: Cấu hình cho PHP nhận cấu hình của memcached module

Các bạn sử dụng lệnh sau để tìm file php.ini

php -i | grep "php.ini"

Tiếp đến mở file php.ini ra và thêm vào cuối file đoạn chỉ thị sau:

extension = "/usr/local/lib/php/extensions/no-debug-non-zts-20160303/memcached.so"

Lưu lại và khởi động lại apache bằng lệnh sau:

/etc/init.d/httpd restart

bây giờ bạn kiểm tra bằng cách dùng lệnh:

php -m | grep memcached
Nếu xuất hiện dòng chữ memcached thì xin chúc mừng, bạn đã thành công trong việc compile memcached module rồi đấy.

Bước 5: Cài tiếp memcached service

memcached service listen trên port 11211, có 2 cách để cài đặt nó và ở đây mình dùng yum cài cho dễ
yum install memcached -y
/etc/init.d/memcached start
chkconfig memcached on

kiểm tra lại xem memcached service đã hoạt động hay chưa bằng lệnh sau:

netstat -nltp | grep 11211
nếu thấy có kết nối tcp trả về việc đã lắng nghe trên port này là thành công rùi đó.
Bây giờ nếu mã nguồn là wordpress bạn có thể tải plugin w3 total cache về để kết hợp cùng các method memcached sẽ thấy cải thiện tốc độ load trang đáng kể.

Bước 6: Kiểm tra memcached có làm việc không

Cách 1:

Trong thư mục chứa mã nguồn các bạn tạo ra 1 file cache_test.php nội dung như sau:
<?php
$mem = new Memcached();
$mem->addServer("127.0.0.1", 11211);

$result = $mem->get("hello");

if ($result) {
echo $result;
} else {
echo "Khong thay key. Toi se them vao ngay bay gio!";
$mem->set("hello", "Toi la data! toi da duoc luu trong memcached!") or die("Khong the luu den memcached...");
}
?>

Lưu lại và truy cập dạng domain/cache_test.php lần đầu sẽ không có cache và lần thứ 2 trở đi sẽ có cache, nếu nội dung từ lần 2 trở đi là “hello”, “Toi la data! toi da duoc luu trong memcached!” thì thành công roài đó.

Cách 2:

Các bạn sẽ sử dụng lệnh telnet để kiểm tra:

telnet localhost 11211
stats items

kết quả dạng như sau là các lưu key – value

STAT items:2:number 1
STAT items:2:age 106
STAT items:2:evicted 0
STAT items:2:evicted_nonzero 0
STAT items:2:evicted_time 0
STAT items:2:outofmemory 0
STAT items:2:tailrepairs 0
STAT items:2:reclaimed 0
STAT items:2:expired_unfetched 0
STAT items:2:evicted_unfetched 0

Xóa cache và thoát telnet bằng lệnh sau, truy cập lại trang, nếu các giá trị dạng key – value được ghi lại thì tức là memcached module đã làm việc cùng memcached service roài các bạn nhé.

flush_all
quit

Như vậy là bài viết hướng dẫn compile memcached module xong rồi đó các bạn, hy vọng sẽ giúp ích các bạn ít nhiều trong việc lựa chọn các công cụ caching cho mã nguồn của mình.

Chia sẻ một chút thông tin về bạn. Những thông tin này có thể được công khai.

Xem thêm bài viết

Bài viết liên quan

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO
Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn,  Phường Bến Nghé, Q. 1, TP. Hồ Chí Minh

Văn phòng kinh doanh: Số 42 Trần Phú, Phường 4, Quận 5, TP HCM
GPKD số 0315679836 do Sở KH và ĐT TP Hồ Chí Minh cấp
Hotline: 0364 333 333
Góp ý/Phản ánh dịch vụ: 0933 000 886