Установка и настройка memcached на CentOS


Тематические термины: memcached, CentOS.
В данной инструкции рассмотрим процесс установки memcached + php-memcached под различные версии операционной системы CentOS.
Rocky Linux / CentOS 8
Первым этапом мы установим и настроим сервис memcached. Вторым — модуль php-memcached.
Сервис memcached
Выполняем установку пакетов:
dnf install memcached libmemcached
Создаем или открываем на редактирование конфигурационный файл для запуска сервиса:
vi /etc/sysconfig/memcached
Приводим его к виду:
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="512"
OPTIONS="-l 127.0.0.1 -U 0"
* где PORT указываем на каком порту будет слушать сервис кэширования; USER — пользователь, под которым должен запускаться сервис; MAXCONN — максимальное число одновременных подключений; CACHESIZE — размер под кэш в мегабайтах; OPTIONS — параметры запуска (в данном примере наш сервис будет принимать запросы только с адреса локальной петли).
После разрешаем автозапуск и запускаем сервис кэширования:
systemctl enable memcached --now
Модуль для php
Устанавливаем пакеты, необходимые для сборки php-pecl-memcached:
dnf install php-devel php-pear zlib-devel make php-pear
dnf --enablerepo=powertools install libmemcached-devel
Запускаем компиляцию и сборку php-расширения:
pecl install memcached
Создаем конфигурационной файл для подключения расширения:
vi /etc/php.d/20-memcached.ini
extension=memcached.so
После установки модуля перезапускаем ...
а) Apache:
systemctl restart httpd
б) или php-fpm:
systemctl restart php-fpm
CentOS 7
Установка сервиса и модуля php выполняется из репозитория одной командой:
yum install memcached php-pecl-memcached
Разрешаем автозапуск сервиса:
systemctl enable memcached
И запускаем его:
systemctl start memcached
Перезапускаем веб-сервер.
а) Apache:
systemctl restart httpd
б) PHP-FPM:
systemctl restart php-fpm
На этом все! Memcached с настройками по умолчанию ускорит работу веб-сервера.
Чтобы убедиться в этом, вводим следующую команду:
php -r "phpinfo();" | grep memcache
* в данном примере веб-сервер использует интерпретатор для PHP.
Проверка
Чтобы проверить, что модуль memcached работаем смотрим статус в phpinfo:
... или вводим команду:
php -m | grep memcached
Мы должны получить:
memcached
Настройка
Настройки применяются в файле:
vi /etc/sysconfig/memcached
Рассмотрим примеры некоторых настроек.
1. Использование сокетов
По умолчанию, memcached запускается на порту 11211. Если мы хотим использовать сокетный файл, то меняем в конфигурационном файле опции:
PORT="0"
...
OPTIONS="-s /tmp/memcached.sock -a 0666"
* где:
- PORT — указание на номер порта (его мы отключаем, задав значение 0);
- OPTIONS — дополнительные опции запуска. При этом, если в вашем случае какие-то опции заданы, нужно не удалять их, а добавить перечисленные здесь.
- -s /tmp/memcached.sock — путь к сокетному файлу.
- -a 0666 — права для сокетного файла.
Перезапускаем сервис:
systemctl restart memcached