Cài đặt Memcached trên CentOS – Memcached là một hệ thống lưu trữ bản sao các đối tượng và dữ liệu được truy cập nhiều lần để tăng tốc độc truy xuất. Nó thường được sử dụng để tối ưu hóa việc tải dữ liệu từ cơ sở dữ liệu cho các ứng dụng trên nền web.
Trong bài viết này HOSTVN sẽ hướng dẫn các bạn cách cài đặt Memcached làm cache trên VPS CentOS 7 giúp tăng tốc độ website của bạn.
Yêu cầu
- VPS/Server sử dụng CentOS7
- Đã cài đặt PHP-FPM bao gồm cả php-devel
- Ram từ 2GB trở lên và có cấu hình Swap
Hướng dẫn cài đặt Memcached trên CentOS 7
Bước 1: Cài đặt EPEL
Redis không có sẵn trong kho yum mặc định vì vậy bạn cần bật kho lưu trữ EPEL yum trên máy chủ của mình trước khi cài đặt redis. Để kích hoạt EPEL các bạn sử dụng lệnh sau:
yum install epel-release -y
Bước 2: Cài đặt Memcached và libmemcached
Để cài đặt Memcached và libmemcached các bạn sử dụng lệnh sau
yum install memcached libmemcached libmemcached-devel -y
Bước 3: Cài đặt igbinary
Igbinary là sự thay thế cho bộ nối tiếp php tiêu chuẩn. Igbinary lưu trữ các cấu trúc dữ liệu php ở dạng nhị phân giúp tiết kiệm bộ nhớ cache cũng như tăng tốc độ load. Để biết thêm về Igbinary các bạn có thể xem thêm tại đây.
- Cài đặt cho Igbinary PHP 5.6
cd /opt wget https://pecl.php.net/get/igbinary-2.0.8.tgz tar -xvf igbinary-2.0.8.tgz cd igbinary-2.0.8 /usr/bin/phpize && ./configure --with-php-config=/usr/bin/php-config make && make install
- Cài đặt cho Igbinary PHP 7
cd /opt wget https://pecl.php.net/get/igbinary-3.1.2.tgz tar -xvf igbinary-3.1.2.tgz cd igbinary-3.1.2 /usr/bin/phpize && ./configure --with-php-config=/usr/bin/php-config make && make install
- Lưu ý: Nếu gặp thông báo lỗi như dưới đây nghĩa là các bạn chưa cài đặt php-devel
Can't find PHP headers in /usr/include/php The php-devel package is required for use of this command.
Để cài php-devel các bạn có thể chạy lệnh sau
yum -y install php-devel
Bước 4: Cài đặt Php memcached extension
Tiếp theo các bạn tiến hành cài đặt Php memcached extension
- Cài đặt cho Php memcached extension cho PHP 5.6
cd /opt wget https://pecl.php.net/get/memcached-2.2.0.tgz tar -xvf memcached-2.2.0.tgz cd memcached-2.2.0 /usr/bin/phpize && ./configure --enable-memcached-igbinary --with-php-config=/usr/bin/php-config make && make install
Cài đặt cho Php memcached extension cho PHP 7
cd /opt wget https://pecl.php.net/get/memcached-3.1.5.tgz tar -xvf memcached-3.1.5.tgz cd memcached-3.1.5 /usr/bin/phpize && ./configure --enable-memcached-igbinary --with-php-config=/usr/bin/php-config make && make install
Bước 5: Cấu hình Load Redis và Igbinary Module
Để PHP có thể load được Igbinary và Redis PHP extension các bạn tạo file /etc/php.d/00-custom.ini với nội dung như sau:
extension=igbinary.so extension=memcached.so
Sau đó các bạn tiến hành restart lại php-fpm
service php-fpm restart
Để kiểm tra xem module đã được load hay chưa các bạn dùng lệnh sau
php -m | grep memcached php -m | grep igbinary
Bước 6: Cấu hình Memcached
Các bạn mở file /etc/sysconfig/memcached và xoá toàn bộ nội dung bên trong sau đó thay thế bằng nội dung sau
PORT="11211" USER="memcached" MAXCONN="10240" CACHESIZE="256mb" OPTIONS="-l 127.0.0.1 -U 0"
Tiếp theo tiến hành khởi động memcached
service memcached start chkconfig --level 235 memcached on
Các bạn có thể dùng lệnh sau để kiểm tra trạng thái của memcached xem mecached đã hoạt động hay chưa
service memcached status
Kết luận
Qua bài viết này HOSTVN đã hướng dẫn các bạn cách cài đặt và cấu hình Memcached để làm cache server. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể xem thêm Hướng dẫn cài đặt Redis trên CentOS 7.
Tài liệu tham khảo:
“Để PHP có thể load được Igbinary và Redis PHP extension các bạn tạo file /etc/php.d/00-custom.ini ” Tạo cái này như thế nào ạ?
Bạn có thể kết nối vào VPS bằng winscp để tạo hoặc có thể ssh và dùng nano để tạo