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

Обновлено Обновлено: Опубликовано Опубликовано:

Тематические термины: memcachedCentOS.

В данной инструкции рассмотрим процесс установки 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:

В phpinfo появилась информация о поддержке Memcached

... или вводим команду:

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

# CentOS # Linux # UNIX # Серверы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет

Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Нужна бесплатная консультация?

Мини-инструкции

Как ускорить вход по SSH

Создание виртуальной машины на Powershell

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

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

Использование архиватора tar в UNIX-системах

Отключение Selinux в системе Linux

Как добавить пользователя в Windows 10

Другие инструкции

Все статьи

Нужна помощь? Пишите:






Реклама