Memcached настройка centos 8

Обновлено: 04.07.2024

Memcached — высокопроизводительный сервер кэширования ключей и значений, полностью работающий в памяти. В инструкции расскажем, как установить и настроить данное ПО.

Установка memcached в Centos

Установка memcached в Ubuntu\Debian

Так же необходимо установить php-расширение memcached — для этого воспользуйтесь нашей инструкцией.

Проверка корректности установки

Проверяем, работает ли memcached:

Если есть такой вывод, то все работает:

Если нет, то перезапускаем службу:

Базовая настройка конфига memcached

Конфигурационные файлы находятся по пути — для Ubuntu\Debian:

для Centos:

Для базовой настройки достаточно в конфигурационных файлах настроить следующие основные параметры:

-d - работать в режиме сервиса;
-m - количество оперативной памяти, которую будет использовать сервис — рекомендуем увеличить этот параметр, так как значения 64 мегабайта, установленного по умолчанию, будет мало;
-p - порт, на котором будет работать сервис;
-u - пользователь, от имени которого запущен сервис;
-l - IP, на котором Memcached будет ожидать соединения. Лучше использовать 127.0.0.1, чтобы из внешней сети ни у кого не было доступа к вашим данным;
-с - количество одновременных подключений;
-P - путь к PID-файлу сервиса в файловой системе.

Основные параметры для оптимизации в memcached

Для оптимизации работы в memcached так же в конфигурационных файлах мы можете изменить настройки некоторых опций.
Опция “-n” позволяет установить минимальный размер чанка. Если у вас в кэше используются мелкие объекты, рекомендуем уменьшить параметр до 16 байт.
Опция “-f” позволяет установить фактор роста. Уменьшение параметра “-f” до 1.05 позволит создать большее количество Slab-классов, а следовательно, эффективно выделять память под объекты разного размера.

Для справки. Slab — это алгоритм выделения памяти. Он был создан для ее эффективного использования. Вся память делится на отдельные части — слабы (slab). Каждый слаб содержит более мелкие части — чанки (chunk).

Опция “-L” заставляет Memcached во время старта подготовить всю выделенную ему память для использования.
Опция “-c” позволит задать максимальное количество подключений к memcached.
Опция “-m” позволяет установить максимальное доступное количество памяти, которое может использовать memcached.

Для справки. Когда Memcached доходит до ограничения в памяти, он начинает удалять объекты по принципу Least recently used — удаляются те, объекты, которые давно не использовались.

На этом установку и базовую настройку Memcached можно считать завершенной.

В этой статье показано, как установить и настроить Memcached на CentOS 8.

Установка Memcached на CentOS

Пакеты Memcached включены в репозитории CentOS 8 по умолчанию. Установка довольно проста, введите следующую команду от имени пользователя root или пользователя с привилегиями sudo :

Пакет libmemcached предоставляет несколько инструментов командной строки для управления сервером Memcached.

После завершения установки включите и запустите службу Memcached, набрав:

Чтобы убедиться, что memcached запущен, введите:

Результат должен выглядеть примерно так:

Вот и все, вы установили Memcached на свой сервер CentOS 8 и можете начать его использовать.

Настройка Memcached

Параметры Memcached можно настроить в /etc/sysconfig/memcached . По умолчанию Memcached настроен на прослушивание только на локальном хосте.

Если клиент, подключающийся к серверу, также работает на том же хосте, вы не должны вносить никаких изменений.

Удаленный доступ

Если приложение, которое будет подключаться к Memcached, размещено на удаленном сервере, вам необходимо настроить брандмауэр и разрешить доступ к порту 11211 Memcached только с IP-адреса клиента.

При неправильной настройке Memcached может использоваться для выполнения распределенной атаки типа «отказ в обслуживании» (DDoS).

Откройте файл конфигурации memcached :

В параметре OPTIONS добавьте IP-адрес сервера -l 192.168.100.20 . Это указывает Memcached на привязку только к указанному интерфейсу.

Сохраните файл и перезапустите службу Memcached, чтобы изменения вступили в силу:

После настройки службы следующим шагом будет открытие порта memcached в вашем брандмауэре.

CentOS поставляется с инструментом настройки межсетевого экрана FirewallD . Приведенные ниже команды создадут новую зону с именем memcached , откроют порт 11211 и разрешат доступ только с IP-адреса клиента.

Подключение к Memcached

Для подключения к серверу Memcached вам необходимо использовать клиент для конкретного языка.

Чтобы использовать Memcached в качестве кэширующей базы данных для вашего PHP- приложения, такого как WordPress , Drupal или Magento , вам необходимо установить расширение php-pecl-memcached :

Python

Существует несколько библиотек Python для взаимодействия с memcached. Вы можете установить предпочитаемую библиотеку с помощью pip :

Выводы

Мы показали вам, как установить Memcached на CentOS 8. Для получения дополнительной информации по этой теме обратитесь к Memcached Wiki .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии ниже.

Memcached – это программа, хранящая в оперативной памяти небольшие отрывки произвольных данных (строк, объектов) из результатов обращений к базе данных, вызовов API или визуализации страниц в формате «ключ-значение».

Зачем хранить сессии в Memcached?

Вместо файлов Memcached будет хранить в памяти сессии. Поскольку запуск из памяти занимает меньше времени, чем чтение файла, сайт будет работать лучше, а время загрузки сократится.

Требования

Чтобы следовать данному руководству, на сервере должен быть установлен и запущен PHP 5. Для этого читайте руководство «Установка LAMP stack (Linux, Apache, MySQL, PHP) на CentOS 7».

Кроме того, нужно установить репозиторий EPEL, поскольку программа Memcached не доступна в стандартных репозиториях.

Также рекомендуется обновить пакеты системы до последней доступной версии (но это не обязательно):

Установка Memcached

Итак, выполнив все предварительные требования, можно приступать к установке Memcached. Это очень просто сделать при помощи менеджера пакетов yum:

yum install memcached

Завершив установку Memcached, откройте конфигурационный файл Memcached в текстовом редакторе vi:

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""

Программа Memcached не защищена паролем или именем пользователя, потому любой пользователь может получить доступ к ней через порт 11211. Чтобы предотвратить это, нужно разрешить доступ к программе только данному VPS; для этого внесите некоторые опции в раздел OPTIONS=:

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1"

Размер кэша (раздел cachesize) по умолчанию равен 64MB. Как только Memcached достигнет этого предела, программа удалит более старые данные, чтобы освободить место для новых. В целом, 64MBбудет вполне достаточно (если только сайт не очень объемен).

Теперь запустите Memcached:

По умолчанию Memcached не запускается при загрузке сервера, потому нужно автоматизировать запуск программы:

chkconfig --levels 235 memcached on

Установка расширения PHP Memcached

На данном этапе нужно установить несколько дополнительных программ. Для начала установите development tools – инструменты разработки, которые понадобятся для компилирования исходного кода:

yum groupinstall "Development Tools"

Затем нужно установить еще несколько программ; первые две понадобятся для сборки расширения, а последние две – для запуска/установки PHP-расширения.

yum install zlib-devel libmemcached-devel php-pear php-pecl-memcached

Теперь нужно установить расширение PHP Memcached при помощи только что установленной библиотеки PECL (PHP Extension Community Library).

pecl install -f memcached-1.0.0

Редактирование файла php.ini

Найдите раздел [Session], который выглядит так:

И измените его следующим образом:

Как видите, значение session_handler было изменено на memcached; также был указан путь к локальному хосту (порт 11211, на котором работает Memcached). Теперь нужно перезапустить Apache, чтобы активировать изменения, внесенные в файл php.ini.

Теперь все сессии буду храниться в Memcached, а не в файлах.

Внимание! На данном этапе может появиться следующая ошибка:

Здесь нужно раскомментировать строку ServerName:

Итоги

Memcached идеально справляется с хранением интенсивных запросов, которые не должны выполняться для каждой отображаемой страницы не в реальном времени, а в указанных приращениях времени (т.е. каждые 10 минут). Чтобы получить больше информации о работе Memcached, читайте руководства:


Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)

Установка memcached в Debian/Ubuntu

Во-первых, я рекомендую обновить систему:

Теперь используйте следующую команду для установки Memcached:

Теперь я установлю PHP с несколькими необходимыми пакетами:

Также необходимо установить модуль MemCache для PHP:

Наконец выполняем установку расширения Memcache php с помощью PECL:

Теперь включим поддержку MemCache в PHP. Прежде чем создавать новый файл просто убедитесь, возможно он уже существует и если файл уже существует просто пропустите команду что ниже:

После всех изменений, производим перезапуск службы Apache:

Установка memcached в RedHat/CentOS/Fedora

Для начала, обновим ОС:

После обновления, выполняем установку memcached:

Настройка memcached

Убедитесь, что в данном файле конфигурации имеются следующие строки:

Для CentOS/RHEL 6/5:

запуск Memcached выполняется:

Пропишем memcached в загрузку ОС:

Для CentOS/RHEL 7:

Устновка PHP расширений с Memcached.

Если PECL при установке задаст вам вопрос, который вы видите ниже, просто нажмите ENTER:

У меня возникла ошибка:

Добавим модуль memcache.so module в php.ini

Перезапускаем службы.

Если на вашем сервере установлен php-fpm, то чтобы перезапустить его, выполните:

Если на вашем сервере установлен apache, то чтобы перезапустить его, выполните:

Для CentOS/RHEL 7:

Для CentOS/RHEL 6/5:

Проверка настройки MemCache

Использование следующую команду, чтобы проверить и убедиться, что Memcached служба работает нормально:

Теперь нужно проверить, включено ли расширение и удостоверимся что работает правильно. Создайте файл в домашнем каталоге и пропишите следующий ПХП код:

Если открыть сайт, то увидим:

memcache

Проверьте, установлен ли Memcached как модуль PHP:

Настройка фаэрвола для Memcached

Добавьте слудеющие правила для разрешения соедения (для работы memcached):

Проверяем, запущен ли демон memcached на ОС:

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Читайте также: