Установка и настройка Memcached

Инструкция по установке и настройке сервиса кэширования данных - Memcached

Memcached — программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе хеш-таблицы.

Также вы можете установить данное приложение при оформлении заказа в один клик. Подробное описание данного One-Click-Apps

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

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

Перед установкой обновим систему:

$ sudo apt-get update

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

$ sudo apt-get install memcached

Установим PHP с несколькими необходимыми пакетами:

apt-get install php5 php5-dev php-pear php5-memcached

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

apt-get install libmemcached-dev build-essential

Теперь установим расширения Memcache php с помощью PECL:

pecl install memcache

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

$ echo "extension=memcache.so" > /etc/php5/apache2/conf.d/20-memcache.ini

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

service apache2 restart

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

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

yum update

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

yum install memcached

Настройка memcached

Отредактируем файл:

$ vim /etc/sysconfig/memcached

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

PORT="11211"
USER="memcached"
MAXCONN="256"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1"
  • PORT 11211 является портом прослушивания по умолчанию для Memcached.
  • USER — это пользователь memcached от которого будет запущен демон.
  • MAXCONN — максимальные количество возможных соединений.
  • CACHESIZE — это количество мегабайт (64 MB) для использования, если у вас есть много трафика, это хорошо для большинства малых/средних сайтов. Для загруженного сервера вы можете увеличить его на 512 или 1 Гб (1024 MB).
  • OPTIONS="-l 127.0.0.1" — это означает что memcached будет слушать только на localhost-е, избегая каких-либо внешних подключений. Вы можете установить IP-адрес сервера. По умолчанию он установлен в INADDR_ANY. Это важно опция, поскольку нет никакого другого способа обеспечить установку. Привязка к внутреннему или межсетевому интерфейсу предлагается.

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

systemctl enable memcached
systemctl start memcached

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

выполняем:

yum install php-pear pecl_http php-devel

И выполняем:

$ pecl install memcache

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

"Enable memcache session handler support? [yes]"

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

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

service php-fpm reload

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

systemctl restart httpd

Тестирование/проверка работы Memcached

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

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

$ echo "stats settings" | nc localhost 11211

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

echo "<?php phpinfo(); ?>" > /var/www/html/php_info.php

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

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

iptables -A INPUT -p tcp --destination-port 11211 -m state --state NEW -m iprange --src-range 192.168.1.10-192.168.1.15 -j ACCEPT
iptables -A INPUT -p udp --destination-port 11211 -m state --state NEW -m iprange --src-range 192.168.1.10-192.168.1.15 -j ACCEPT

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

$ ps -aux | grep memcached
Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам