Tổng quan Directadmin

hế lu mọi người, kienthuclinux quay trở lại rồi đây, và ngày hôm nay mình sẽ hướng dẫn các bạn một trong những phần mà mọi người mong chờ nhất !!!

Đó là Hướng dẫn compile memcached module kết hợp cùng memcached service để chạy cùng, làm tăng khả năng chịu tải và truy cập của site. Nghe thật hấp dẫn nhỉ? 🙂

Để hiểu rõ hơn module memcached là gì và memcached service là gì thì các bạn google thêm, mình không nói đến kiến thức đó ở bài này mà đi vào thực hành luôn, các bạn chỉ cần làm theo step by step của mình là được.

compile memcached module
sự lựa chọn tăng tốc độ load site cực tốt mang tên memcahed!

Theo trang github của memcached module thì hiện tại đang có 2 version chính và 2 version này hỗ trợ cho các version php khác nhau, mình xiin trích dẫn ra 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.

Như vậy, để hỗ trợ cho php version 7 thì các bạn phải cài memcached 3 và ngược lại, điều kiện tiên quyết nữa là các bạn phải có bộ thư viện dành cho memcached đó là libmemcached.

Trong bài viết này mình mình sẽ hướng dẫn trên memcached version 3 các bạn nhé.

Bước 1: Download memcached module và libmemcached ở các link sau:

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. Hẹn gặp các bạn ở bài sau nhé!

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *