Memcached — это бесплатное высокопроизводительное хранилище данных типа «ключ-значение» с открытым исходным кодом в памяти. Чаще всего используется для ускорения работы приложений за счет кэширования различных объектов из результатов обращений к базе данных.

В этом руководстве вы увидите процесс установки и настройки Memcached в Ubuntu 18.04.

Установка Memcached

Пакеты Memcached включены в репозитории Ubuntu 18.04 по умолчанию. Установка довольно проста, просто выполните следующие действия:

Начните с обновления списка подходящих пакетов:

sudo apt update

Установите Memcached, набрав:

sudo apt install memcached libmemcached-tools

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

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

sudo systemctl status memcached

Вот и все, на данный момент Memcached установлен и работает на вашем сервере Ubuntu 18.04.

Настройка Memcached

Memcached можно настроить, отредактировав /etc/memcached.confфайл. Параметры конфигурации по умолчанию достаточны для большинства пользователей.

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

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

При неправильной настройке Memcached может использоваться для выполнения распределенной атаки типа «отказ в обслуживании» (DDoS). Если вы хотите разрешить удаленный доступ к вашему серверу Memcached, вам необходимо настроить брандмауэр и разрешить доступ к UDP-порту Memcached 11211 только доверенным клиентам.

В следующем примере предполагается, что вы хотите подключиться к серверу Memcached через частную сеть. IP-адрес сервера 192.168.100.20и IP-адрес клиента192.168.100.30

Ubuntu поставляется с инструментом настройки брандмауэра под названием UFW. По умолчанию UFW установлен, но не включен. Перед включением брандмауэра UFW сначала добавьте правило, разрешающее входящие SSH-соединения:

sudo ufw allow 22

Разрешить оценку с IP-адреса удаленного клиента:

sudo ufw allow from 192.168.100.30 to any port 11211

Включите UFW с помощью команды:

sudo ufw status

После того, как ваш брандмауэр настроен, следующим шагом будет редактирование конфигурации Memcached и настройка службы Memcached для прослушивания интерфейса частной сети сервера:

Для этого откройте memcached.confфайл конфигурации:

sudo nano /etc/memcached.conf

Найдите строку, начинающуюся с -l 127.0.0.1и замените 127.0.0.1ее IP-адресом сервера 192.168.100.20.

/etc/memcached.conf

# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 192.168.100.20

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

sudo systemctl restart memcached

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

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

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

PHP

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

sudo apt install php-memcached

 

Python

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

pip install pymemcache
pip install python-memcached