Cách cài đặt Memcached trên CentOS

Admin| Ngày 06/05/2019| 81

Phải chăng bạn đang tìm cách cài đặt Memcached trên CentOS để giúp hệ thống hoạt động tăng tốc hơn? Vậy thì hãy tham khảo ngay bài viết này với các bước hướng dẫn cụ thể và chi tiết nhất.

Memcached là gi?

Memcached là một hệ thống cache hoạt động bằng cách lưu tạm thông tin những dữ liệu bạn hay sử dụng vào bộ nhớ RAM. Do tốc độ đọc ghi của bộ nhớ bao giờ cũng cao hơn so với lưu trữ file nên việc sử dụng memcached giúp cho hệ thống của bạn tăng tốc lên một cách đáng kể.

Cách cài đặt Memcached trên CentOS

Cài đặt Remi repository với CentOS 5 (Riêng CentOS 7 và 6 thì không cần bước này)

## Remi Dependency on CentOS 5

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

Cài đặt Memcached package

## CentOS 7 and 6
yum install memcached
## CentOS 5
yum --enablerepo=remi install memcached

Lưu ý: Có 2 memcache package tồn tại là memcache và memcached (có thêm chữ d ở cuối), cũng như có 2 phiên bản PHP Extention Module tương ứng là php-pecl-memcache và php-pecl-memcached. Chúng ta sẽ sử dụng phiên bản thứ 2 bởi vì nó ổn định và hỗ trợ được nhiều chức năng hơn.

Cấu hình Memcached

Thông số quan trọng nhất mà bạn cần lưu ý đó là CACHESIZE, đơn vị tính là MB và MAXCONN. Chẳng hạn như hình bên dưới mình sử dụng 128MB để cache (mặc định 64MB). OPTIONS cấu hình bảo mật chỉ cho local connect được tới port 11211.

# nano /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="10240"
CACHESIZE="128"
OPTIONS="-l 127.0.0.1 -U 0"

Khởi động Memcached

memcached on
chkconfig service memcached start

Để theo dõi tình trạng memcached, bạn có thể sử dụng phpMemcachedAdmin để xem ngay trên trình duyệt. PHPMemcachedAdmin sau khi tải về là có thể sử dụng.

Cài đặt Memcache và Memcached PHP Module

Để Memcached hoạt động được với PHP, ta cần cài đặt thêm PHP module.

PHP 5.5

yum --enablerepo=remi,remi-php55 install php-pecl-memcached php-pecl-memcache

PHP 5.6

yum --enablerepo=remi,remi-php56 install php-pecl-memcached php-pecl-memcache

PHP 7.0

yum --enablerepo=remi,remi-php70 install php-pecl-memcached php-pecl-memcache

PHP 7.1

yum --enablerepo=remi,remi-php71 install php-pecl-memcached php-pecl-memcache

Cuối cùng khởi động PHP và web server

service php-fpm restart
service nginx restart

Mở cổng Memcached (11211) trên Iptables Firewall

Trong trường hợp sử dụng riêng một server để chạy Memcached thì cần phải mở port 11211 trên server cache.

Sử dụng lệnh sau:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT

Khởi động lại Iptables Firewall

service iptables restart

Cài đặt Memcached làm Session Handler

Bạn có thể cấu hình PHP sử dụng Memcached làm session handler, thay vì dùng files để tăng hiệu năng xử lý của hệ thống. Và tất nhiên thao tác này chỉ nên thực hiện với các mã nguồn sử dụng nhiều session, WordPress thì không cần.

Mở file cấu hình php.ini

nano /etc/php.ini

Tìm dòng [Session] , thay thế session.save_handler = files bằng:

[Session]
session.save_handler = memcached
session.save_path = "127.0.0.1:11211"

Để save file nhấn Ctrl + O, để đóng editor nhấn Ctrl + X.

Nếu dùng phpMyAdmin, bạn cần tùy chỉnh cơ chế lưu trữ session của ứng dụng. Chỉnh sửa file session.inc.php của phpMyAdmin:

nano /home/domain.com/private_html/phpmyadmin/libraries/session.inc.php

Uncomment (bỏ //) dòng: //ini_set('session.save_handler', 'files');

Thêm dòng: ini_set('session.save_path', '/tmp');

Cuối cùng restart lại PHP

service php-fpm restart

>> Xem thêm: Cách cài đặt phpMyAdmin trên CentOS 7

Cài đặt Memcached làm việc với WordPress

Để Memcached hoạt động với WordPress bạn cần phải sử dụng plugin cache W3 Total Cache.

Trong phần cài đặt plugin, chọn page cache method là Memcached cho các module Page Cache, Database Cache và Object Cache là xong.

Trên đây là cách cài đặt Memcached trên CentOS, chúc các bạn thành công!