Memcached — это бесплатное высокопроизводительное хранилище данных типа "ключ-значение" в памяти с открытым исходным кодом. В основном он используется для ускорения приложений путем кэширования различных объектов из результатов вызовов базы данных.
В этом руководстве мы проведем вас через установку и настройку Memcached в Debian 9.
Содержание
Подготовка
Вам нужно будет войти в систему как пользователь с доступом sudo, чтобы иметь возможность устанавливать пакеты в вашей системе Debian.
Установка Memcached
Пакеты Memcached включены в репозитории Debian 9 по умолчанию. Установка очень проста, просто выполните следующие действия:
-
Обновите список пакетов:
sudo apt update
-
Установите Memcached, набрав:
sudo apt install memcached libmemcached-tools
Пакет
libmemcached-tools
предоставляет несколько инструментов командной строки для управления сервером Memcached. -
После завершения установки служба Memcached запустится автоматически. Чтобы проверить статус службы, введите следующую команду:
sudo systemctl status memcached
Результат будет выглядеть так:
● memcached.service - memcached daemon Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-06-05 21:00:57 GMT; 52s ago Docs: man:memcached(1) Main PID: 1371 (memcached) CGroup: /system.slice/memcached.service └─1371 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
Вот и все, вы успешно установили Memcached на свой сервер Debian 9.
Настройка Memcached
Memcached можно настроить, отредактировав файл /etc/memcached.conf
. Для большинства пользователей достаточно настроек конфигурации по умолчанию.
По умолчанию служба Memcached прослушивает только локальный хост. Если клиент, подключающийся к серверу, также работает на том же хосте, вам не нужно изменять файл конфигурации по умолчанию.
Удаленный доступ
Если он настроен неправильно, Memcached может использоваться для выполнения распределенной атаки типа «отказ в обслуживании» (DDoS). Чтобы разрешить удаленные подключения к серверу Memcached, вам необходимо настроить брандмауэр и разрешить доступ к UDP-порту 11211 Memcached только для доверенных клиентов.
В следующем примере мы предполагаем, что вы хотите подключиться к серверу Memcached через частную сеть. IP-адрес сервера — 192.168.100.20
а IP-адрес клиента — 192.168.100.30
Если вы используете UFW , выполните следующую команду, чтобы разрешить оценку с IP-адреса удаленного клиента:
sudo ufw allow from 192.168.100.30 to any port 11211
Если вы используете старый простой iptables, запустите:
iptables -I INPUT -s 192.168.100.30 --dport 2112112 -j ACCEPT
После настройки брандмауэра следующим шагом будет отредактировать настройки Memcached и настроить службу Memcached на прослушивание интерфейса частной сети сервера:
Для этого откройте файл конфигурации memcached.conf
:
sudo nano /etc/memcached.conf
Найдите строку, которая начинается с -l 127.0.0.1
и замените 127.0.0.1
на IP-адрес сервера 192.168.100.20
.
# 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 или Magento, вам необходимо установить расширение php-memcached
:
sudo apt install php-memcached
Python
Есть несколько библиотек Python для взаимодействия с memcache. Вы можете установить предпочитаемую библиотеку с помощью pip :
pip install pymemcache
pip install python-memcached
Выводы
Вы узнали, как установить Memcached на свой сервер Debian 9. Для получения дополнительной информации по этой теме обратитесь к Memcached Wiki .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии ниже.