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-классов, а следовательно, эффективно выделять память под объекты разного размера.
Опция “-L” заставляет Memcached во время старта подготовить всю выделенную ему память для использования.
Опция “-c” позволит задать максимальное количество подключений к memcached.
Опция “-m” позволяет установить максимальное доступное количество памяти, которое может использовать memcached.
На этом установку и базовую настройку 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 служба работает нормально:
Теперь нужно проверить, включено ли расширение и удостоверимся что работает правильно. Создайте файл в домашнем каталоге и пропишите следующий ПХП код:
Если открыть сайт, то увидим:
Проверьте, установлен ли Memcached как модуль PHP:
Настройка фаэрвола для Memcached
Добавьте слудеющие правила для разрешения соедения (для работы memcached):
Проверяем, запущен ли демон memcached на ОС:
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Читайте также: