Тематические термины: 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
Задать логин пароль
Настройка механизма аутентификации осуществляется с применением sasl2. Для начала, установим его:
yum install cyrus-sasl-plain
Создаем конфигурационный файл:
vi /etc/sasl2/memcached.conf
mech_list: plain
log_level: 1
sasldb_path: /etc/sasl2/memcached-auth
* где:
- mech_list — механизм передачи логина и пароля. В данном примере в открытом текстовом виде.
- log_level — уровень логирования.
- sasldb_path — путь до файла базы логинов и паролей.
Создадим пользователя:
saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-auth admin
* в нашем примере будет создан пользователь admin и сохранен в файле /etc/sasl2/memcached-auth .
Система запросит дважды пароль для создаваемого пользователя.
Теперь зададим владельца для базы с паролями:
chown memcached:memcached /etc/sasl2/memcached-auth
Открываем конфигурационный файл для memcached:
vi /etc/sysconfig/memcached
Для директивы OPTIONS добавляем -S (включает SASL):
OPTIONS=»… -S »
А выше OPTIONS добавляем строки:
…
SASL_CONF_PATH=/etc/sasl2/memcached.conf
MEMCACHED_SASL_PWDB=/etc/sasl2/memcached-auth
…
Перезапускаем сервис:
systemctl restart memcached