I. Giới thiệu memcached, php-memcache và php-memcached
Memached (memory cached) trong linux là 1 open source code (memached server) được dùng để cài đặt trên server linux nhằm cung cấp chức năng cache dữ liệu lên bộ nhớ RAM và làm tăng tốc độ truy cập cho các website PHP.
Php-memcache và php-memcached là memached client, nó là thư viện extension của PHP cần được cài đặt chung với memcached server để kết nối, giao tiếp với memached server.
Cả php-memcache và php-memcached đều có thể sử dụng và làm việc tốt với memcached server. Tuy nhiên php-memcached là bản phát triển sau và được đánh giá tối ưu hơn bản trước đó. Hiện tại php-memcache đã có phiên bản 3.0 và php-memcached đã release phiên bản 2.2.0.
Trong bài viết này blog hosting sẽ hướng dẫn các bạn cài đặt memcached server, php-memcache và php-mecached trên CentOS 6.5.
1. Cài đặt memcached server trên CentOS 6.5
B1: Mặc định thì memcached chưa có sẵn trong các reponsitory, nên để chắc chắn các bạn nên thực hiện install EPEL reponsitory như sau:
[root@server ~]# cd /usr/local/src/
[root@server src]# wget http://mirrors.kernel.org/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@server src]# rpm -Uvh epel-release-6-8.noarch.rpm
B2: Sau khi cài đặt EPEL reponsitory hoàn tất, các bạn thực hiện install memcached bằng yum.
[root@server src]# yum install memcached
B3: Sau khi quá trình cài đặt hoàn tất, các bạn mở file cấu hình của memcached như sau:
[root@server src]# vim /etc/sysconfig/memcached
PORT="11211" # Memcached hoạt động ở port 11211
USER="memcached" # User hoạt động là memcached
MAXCONN="1024" # Số connection đồng thời
CACHESIZE="2048" # Memory size cache mặc định là 64MB, ở đây set = 2014 (thông số này thường được set bằng 1/3 RAM)
OPTIONS="-l 127.0.0.1" #Set IP là localhost
B4: Sau khi cấu hình xong các thông số, các bạn thực hiện start memcached bằng lệnh
[root@server src]# service memcached start
B5: Cấu hình memcached khởi động cùng OS.
[root@server src]# chkconfig --levels 235 memcached on
2. Cài đặt php-memcache và php-memcached
a) Cài đặt php-memcache
B1: Download phiên bản php-memcache mới nhất và thực hiện cài đặt
[root@server src]# wget http://pecl.php.net/get/memcache-3.0.8.tgz
[root@server src]# tar -xvf memcache-3.0.8.tgz
[root@server src]# cd memcache-3.0.8
[root@server memcache-3.0.8]# ./configure
[root@server memcache-3.0.8]# make
[root@server memcache-3.0.8]# make install
B2: Cấu hình php.ini để php nhận extension vừa cài đặt
[root@server memcache-3.0.8]# php -i | grep php.ini # tìm đường dẫn file php.ini
[root@server memcache-3.0.8]# vim /usr/local/etc/php5/cgi/php.ini
#thêm đoạn sau vào sau đó lưu lại
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626/"
extension= "memcache.so"
B3: Thực hiện restart lại httpd để cập nhật
[root@server memcache-3.0.8]# service httpd restart
B4: Kiểm tra xem php-memcache đã hoạt động chưa
+) Vào host tạo một file info.php và lưu vào nội dung sau
<?php
phpinfo();
?>
+) Truy cập vào trình duyệt và kiểm tra
b) Cài đặt php-memcached
B1: Vào trang http://pecl.php.net/package/memcached để kiểm tra và down phiên bản php-memcached mới nhất
[root@server src]# wget http://pecl.php.net/get/memcached-2.2.0.tgz
[root@server src]# tar xvzf memcached-2.2.0.tgz
[root@server src]# cd memcached-2.2.0
[root@server memcached-2.2.0]# phpize
[root@server memcached-2.2.0]# ./configure
#Tại đây các bạn có thể gặp lỗi như sau:
checking for libmemcached location... configure: error: memcached support requires libmemcached. Use --with-libmemcached-dir=<DIR> to specify the prefix where libmemcached headers and library are located
#Thực hiện cài đặt libmemcached-1.0.16.tar.gz hoặc phiên bản mới nhất (nếu bạn các dùng version thấp hơn thì sẽ không hết lỗi này)
[root@server src]# wget https://launchpadlibrarian.net/130075338/libmemcached-1.0.16.tar.gz
[root@server src]# tar xvzf libmemcached-1.0.16.tar.gz
[root@server src]# cd libmemcached-1.0.16
[root@server libmemcached-1.0.16]# ./configure
[root@server libmemcached-1.0.16]# make
[root@server libmemcached-1.0.16]# make install
B2: Sau khi cài đặt xong libmemcached-1.0.16, các bạn quay trở lại cài đặt memcached-2.2.0
[root@server libmemcached-1.0.16]# cd /usr/local/src/memcached-2.2.0
[root@server memcached-2.2.0]# ./configure
[root@server memcached-2.2.0]# make
[root@server memcached-2.2.0]# make install
B3: Qúa trình cài đặt thành công vào các bạn tiến hành mở file php.ini ở trên và thay thế add extension của php-memcache thành extension của php-memcached.
[root@server memcached-2.2.0]# vim /usr/local/etc/php5/cgi/php.ini
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626/"
extension= "memcached.so"
B4: Lưu file lại và tiến hành restart dịch vụ httpd
[root@server memcached-2.2.0]# service httpd restart
B5: Kiểm tra bằng hàm phpinfo();