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

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

На VPS или выделенном сервере установка Memcached помогает ускорить работу веб-приложений за счёт хранения данных в оперативной памяти. Этот инструмент подходит как для небольших сайтов, так и для проектов с высокой нагрузкой на Linux.

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

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

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

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

Сначала обновим систему:

$ sudo apt-get update

Теперь установим Memcached:

$ sudo apt-get install memcached

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

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

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

$ sudo apt-get install libmemcached-dev build-essential

Далее установим расширение Memcache для PHP через PECL:

$ sudo pecl install memcache

Включим поддержку Memcache в PHP. Если файл уже существует, пропустите этот шаг:

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

Перезапустим Apache:

$ sudo service apache2 restart

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

Обновим систему:

$ sudo yum update

Установим Memcached:

$ sudo yum install memcached

Настройка Memcached

Редактируем конфигурационный файл:

$ sudo vim /etc/sysconfig/memcached

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

PORT="11211"
USER="memcached"
MAXCONN="256"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1"
  • PORT — порт по умолчанию для Memcached.
  • USER — пользователь, от имени которого запускается демон Memcached.
  • MAXCONN — максимальное количество соединений.
  • CACHESIZE — объём памяти в мегабайтах для кэша (64 MB достаточно для большинства малых и средних сайтов; для загруженных серверов можно увеличить до 512 MB или 1 GB).
  • OPTIONS="-l 127.0.0.1" — Memcached будет слушать только localhost. Можно указать IP сервера для внешних подключений, но по умолчанию используется INADDR_ANY.

Запуск Memcached:

$ sudo systemctl enable memcached
$ sudo systemctl start memcached

Установка PHP-расширений для Memcached:

$ sudo yum install php-pear pecl_http php-devel
$ sudo pecl install memcache

Если PECL задаст вопрос Enable memcache session handler support? [yes], просто нажмите ENTER.

Перезапуск служб:

Если используется php-fpm:

$ sudo service php-fpm reload

Если используется Apache:

$ sudo systemctl restart httpd

Тестирование Memcached

Проверим, работает ли служба:

$ echo "stats settings" | nc localhost 11211

Проверим PHP-расширение. Создайте файл с кодом PHP:

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

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

Добавьте правила для разрешения соединений:

$ sudo 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
$ sudo 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

Проверим, что демон запущен:

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